如何将实体集合转换为数组

时间:2015-04-24 09:21:10

标签: c# asp.net entity-framework entity-framework-4 entity

我想选择一些数据库int值到整数数组.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[]'

4 个答案:

答案 0 :(得分:2)

在Select中使用匿名类型会导致此错误。

重写你的"选择"查询的一部分:

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

答案 1 :(得分:2)

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

应该足够而不是

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

后者生成一个匿名类的实例,其唯一成员类型为int,并且除了object之外不能强制转换为任何内容。

答案 2 :(得分:0)

你应该尝试这个,因为它将创建一个匿名类的实例:

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

答案 3 :(得分:0)

错误是由于您的select查询中的“new”创建了匿名类型类。

  

选择(x => new {x.employeeId} )。ToArray()

删除新内容将解决问题。

  

contxt.tbl_ReportingAthorityDetails.Where(x => x.isDelete == false&&   x.reportingAthority == lgdempid)。选择(x => x.employeeId) .ToArray();