Mám zoznam kolekcií a Datatable, na ktorom sa snažím pripojiť cez linq, ale dostávam nižšie uvedenú chybu.
Typ jedného z výrazov v klauzule join je nesprávny. Inferencia typu zlyhala vo volaní na
join
My LinQ Query je:
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 };
Čo je nesprávne v systaxe?
odpovede:
2 pre odpoveď č. 1DataTable
neimplementuje IEnumerable
, takže ho nemôžete použiť priamo v LINQ dotaze, musíte ho previesť na typ IEnumerable pomocou AsEnumerable ako toto:-
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 ")};