Wie mache ich Joins in LINQ für mehrere Felder in einem einzigen Join?

Ich muss eine LINQ2DataSet-Abfrage ausführen, die einen Join für mehr als ein Feld ausführt (als

var result = from x in entity
join y in entity2 
       on x.field1 = y.field1 
and 
          x.field2 = y.field2

Ich habe noch keine geeignete Lösung gefunden (ich kann die zusätzlichen Einschränkungen zu einer where-Klausel hinzufügen, aber dies ist weit von einer geeigneten Lösung entfernt, oder verwendeDie Lösung, aber das setzt einen Equijoin voraus).

Ist es in LINQ möglich, in einem einzigen Join mehrere Felder zu verknüpfen?

BEARBEITE

var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 }

ist die Lösung, auf die ich oben als gleichwertig verwiesen habe.

Des WeiterenBEARBEITE

Um die Kritik zu beantworten, dass mein ursprüngliches Beispiel ein Equijoin war, erkenne ich an, dass meine derzeitige Anforderung ein Equijoin ist und ich die oben genannte Lösung bereits angewendet habe.

Ich versuche jedoch zu verstehen, welche Möglichkeiten und Best Practices ich für LINQ habe / verwenden sollte. Ich muss demnächst einen Abfrage-Join für den Datumsbereich mit einer Tabellen-ID ausführen und habe gerade dieses Problem behoben. Es sieht so aus, als ob ich den Datumsbereich in die where-Klausel einfügen muss.

Vielen Dank wie immer für alle Vorschläge und Kommentare

Antworten auf die Frage(24)

Ihre Antwort auf die Frage