/ / Con respecto a las uniones en LinQ - c #, linq

Con respecto a las uniones en LinQ - c #, linq

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 № 1

DataTable 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 ")};