Tengo una colección de listas y un Datatable en el que estoy intentando hacer una unión a través de linq, pero obtengo el siguiente error.
El tipo de una de las expresiones en la cláusula de unión es incorrecto. La inferencia de tipo falló en la llamada a
join
Mi consulta de LinQ es:
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 };
¿Qué está mal en el systax?
Respuestas
2 para la respuesta № 1DataTable
no implementa IEnumerable
, por lo que no puede usarlo en una consulta LINQ como esta directamente, necesita convertirlo a tipo IEnumerable usando ComoEnumerable Me gusta esto:-
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 ")};