Относительно Joins в LinQ
У меня есть коллекция списков и таблица данных, по которой я пытаюсь выполнить соединение через linq, но получаю сообщение об ошибке ниже.
Неверный тип одного из выражений в предложении соединения. Ошибка вывода типа при вызове
join
Мой LinQ Query это:
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 };
Что не так в системном налоге?
1 ответ
DataTable
не реализует IEnumerable
Таким образом, вы не можете использовать его в запросе LINQ, как этот, напрямую, вам нужно преобразовать его в тип IEnumerable, используя AsEnumerable, например:
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 ")};