/ / Betreffend Joins in LinQ - c #, linq

Über Joins in LinQ - c #, linq

Ich habe eine Liste Sammlung und eine Datentabelle, auf der ich versuche, eine Verbindung über linq zu machen, aber bekomme den folgenden Fehler.

Der Typ eines der Ausdrücke in der Join-Klausel ist falsch. Typinferenz fehlgeschlagen beim Aufruf von join

Meine LinQ-Abfrage lautet:

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 };

Was ist falsch in der Systax?

Antworten:

2 für die Antwort № 1

DataTable implementiert nicht IEnumerableSie können es also nicht direkt in der LINQ-Abfrage verwenden, sondern müssen es in IEnumerable umwandeln AsEnumerable so was:-

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