Verwendung von C# LINQ für die innere DataTable-Verbindung
Inner Joins kombinieren Zeilen aus zwei DataTables basierend auf einem gemeinsamen Schlüssel. Dies ist nützlich für Aufgaben wie das Zusammenführen von Informationen aus verschiedenen Tabellen oder das Filtern von Daten anhand bestimmter Kriterien.
Angenommen, wir haben zwei Datentabellen, T1 und T2, mit den folgenden Feldern:
Wir müssen eine gemeinsame Tabelle TJ erstellen, die die folgenden Felder enthält:
Mit LINQ können wir einen Inner Join für die CustID-Spalte durchführen:
<code class="language-csharp">var results = from table1 in dt1.AsEnumerable() join table2 in dt2.AsEnumerable() on (int)table1["CustID"] equals (int)table2["CustID"] select new { CustID = (int)table1["CustID"], ColX = (int)table1["ColX"], ColY = (int)table1["ColY"], ColZ = (int)table2["ColZ"] };</code>
Diese Abfrage generiert eine Folge anonymer Objekte, die die verketteten Spalten enthalten. Anschließend können wir die Ergebnisse iterieren und an die Konsole ausgeben:
<code class="language-csharp">foreach (var item in results) { Console.WriteLine(String.Format("ID = {0}, ColX = {1}, ColY = {2}, ColZ = {3}", item.CustID, item.ColX, item.ColY, item.ColZ)); }</code>
Dieser Code erzeugt die folgende Ausgabe:
<code>ID = 1, ColX = 11, ColY = 21, ColZ = 31 ID = 2, ColX = 12, ColY = 22, ColZ = 32 ID = 3, ColX = 13, ColY = 23, ColZ = 33 ID = 4, ColX = 14, ColY = 24, ColZ = 34 ID = 5, ColX = 15, ColY = 25, ColZ = 35</code>
Das obige ist der detaillierte Inhalt vonWie führe ich mit LINQ eine innere Verknüpfung zweier Datentabellen in C# durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!