2015-04-24 23 views
0

我想選擇一些數據庫int類型整數array.Below代碼得到錯誤如何收集實體轉換爲一個陣列

int[] lst = contxt.tbl_ReportingAthorityDetails.Where(x => x.isDelete == false && x.reportingAthority == lgdempid).Select(x => new { x.employeeId}).ToArray(); 

誤差

Cannot implicitly convert type 'AnonymousType#1[]' to 'int[]' 
+0

重要的問題是爲什麼? –

回答

2

的選擇將導致使用匿名類型這個錯誤。

重寫查詢您的「選擇」部分:

.Select(x => x.employeeId).ToArray() 
2
Select(x => x.employeeId).ToArray() 

應該是足夠的,而不是

Select(x => new { x.employeeId}).ToArray() 

後者產生一個匿名類,它的唯一成員是類型的實例int並且不能將其轉換爲對象以外的任何對象。

0

你應該爲目前試試這個它會創建匿名類的一個實例:

.Select(x => x.employeeId).ToArray() 
0

錯誤是因爲在你的選擇查詢其創建匿名類型的類的「新」。

選擇(X =>新{x.employeeId}).ToArray()

去除新將解決該問題。

contxt.tbl_ReportingAthorityDetails.Where(X => x.isDelete ==假& & x.reportingAthority == lgdempid)。 選擇(x => x.employeeId) .ToArray();