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.
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
zum Beispiel, um
field1
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 = 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
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