Heim >Datenbank >MySQL-Tutorial >Wie führe ich mit LINQ to SQL einen Inner Join mit einer ON-Klausel durch?

Wie führe ich mit LINQ to SQL einen Inner Join mit einer ON-Klausel durch?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-21 00:27:08732Durchsuche

How to Perform an Inner Join with an ON Clause Using LINQ to SQL?

Verwendung von LINQ to SQL für effiziente Inner Joins mit ON-Klausel

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn