„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich einen Multi-Field-Join bei Linq ausführen?

Wie kann ich einen Multi-Field-Join bei Linq ausführen?

Gepostet am 2025-02-25
Durchsuche:526

How Can I Perform a Multi-Field Join in LINQ?

linq Multi-Feld-Verbindung detaillierte Erklärung

]

linq (Sprachintegrierte Abfrage) bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Daten abzufragen. Eine seiner wichtigsten Funktionen ist die Möglichkeit, die Klausel Join zu verwenden, um Daten aus mehreren Datenquellen zu verbinden. Während herkömmliche Verbindungen in der Regel Verbindungen eines einzelnen Feldes umfassen, kann LINQ auch Mehrfeldverbindungen implementieren.

Angenommen, das folgende Szenario: Sie müssen eine Linq -Abfrage ausführen, die zwei Tische anschließt

enttity und enttity2 , wobei field1 in enttity Die] und field2 fields müssen mit den Feldern field1 und in enttity2 übereinstimmen. Um dies zu tun, können Sie die folgende Syntax verwenden:

var result = von x in der Entität Schließen Sie sich Y in Entity2 an2 an auf neu {x.field1, x.field2} gleich neu {y.field1, y.field2}
var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 }
{x.field1, x.field2}

erstellt eine Schlüsselkombination, die field1 und aus der enttity table der Wert von der Wert von der Wert des Wertes kombiniert field2 . Diese Schlüsselkombination wird dann mit der Schlüsselkombination {y.field1, y.field2} aus der Tabelle enttity2 verglichen. Es ist zu beachten, dass diese Methode eine gleichwertige Verbindung annimmt, wobei die Werte im Join -Feld gleich sein müssen. Wenn Sie nicht äquivalente Zusammenhänge wie Abfragen von Datumsbereich benötigen, können Sie zusätzliche Bedingungen in der

-Klausel hinzufügen.

zum Beispiel, um field1

und

von enttity und enttity2 zu verbinden und sicherzustellen, dass enttity in ] Entity Das Feld Date befindet sich im angegebenen Bereich, und Sie können verwenden:

var result = von x in der Entität Schließen Sie sich Y in Entity2 an2 an auf neu {x.field1, x.field2} gleich neu {y.field1, y.field2} wobei x.date> = startdate && x.date var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 } where x.date >= startDate && x.date
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3