我有一个列表集合和一个Datatable,我正在尝试通过linq进行连接,但是我收到了以下错误。
join子句中某个表达式的类型不正确。 调用
时类型推断失败join
我的LinQ查询是:
var linqresultset = from e in emp_data
join d in dt on e.DeptId equals d.ID orderby e.Id
select new { Id = e.Id, Name = e.Name +" - "+ d.Department };
systax有什么问题?
答案 0 :(得分:2)
DataTable
没有实现IEnumerable
,所以你不能直接在LINQ查询中使用它,你需要使用AsEnumerable将它转换为IEnumerable类型: -
var linqresultset = from e in emp_data
join d in dt.AsEnumerable() on e.DeptId equals d.Field<int>("ID")
orderby e.Id
select new { Id = e.Id, Name = e.Name +" - "+ d.Field<string>("Department ")};