LINQ to SQL bietet einen optimierten Ansatz zum Ausführen von SQL-Abfragen in C#. Eine häufige Anforderung ist der Inner Join, bei dem Daten aus mehreren Tabellen basierend auf einer übereinstimmenden Bedingung zusammengeführt werden.
LINQ to SQL-Syntax:
Die Struktur für einen Inner Join unter Verwendung einer ON-Klausel in LINQ to SQL ist wie folgt:
<code class="language-csharp">from t1 in db.Table1 join t2 in db.Table2 on t1.field equals t2.field</code>
Anschauliches Beispiel:
Bedenken Sie diese SQL-Abfrage:
<code class="language-sql">select DealerContact.* from Dealer inner join DealerContact on Dealer.DealerID = DealerContact.DealerID</code>
Äquivalente LINQ-zu-SQL-Abfrage:
<code class="language-csharp">var dealercontacts = from contact in db.DealerContact join dealer in db.Dealer on contact.DealerId equals dealer.Id select contact;</code>
Diese LINQ-Abfrage erzielt das gleiche Ergebnis:
dealercontacts
speichert die Ausgabe der Abfrage.db.DealerContact
verweist auf die erste Tabelle.db.Dealer
verweist auf die zweite Tabelle.contact.DealerId
und dealer.Id
sind die Verbindungsschlüssel.Wichtige Überlegung:
Es ist wichtig zu überprüfen, ob die Tabellen- und Feldnamen in Ihrer LINQ-Abfrage genau mit Ihrem Datenbankschema übereinstimmen. Eventuelle Unstimmigkeiten führen zu Fehlern.
Das obige ist der detaillierte Inhalt vonWie führe ich mit LINQ to SQL einen Inner Join mit einer ON-Klausel durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!