Heim >Backend-Entwicklung >C++ >Wie führe ich mit LINQ eine innere Verknüpfung zweier Datentabellen in C# durch?

Wie führe ich mit LINQ eine innere Verknüpfung zweier Datentabellen in C# durch?

Barbara Streisand
Barbara StreisandOriginal
2025-01-12 17:21:43836Durchsuche

How to Perform an Inner Join of Two DataTables in C# using LINQ?

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:

  • T1(CustID, ColX, ColY)
  • T2(CustID, ColZ)

Wir müssen eine gemeinsame Tabelle TJ erstellen, die die folgenden Felder enthält:

  • TJ (CustID, ColX, ColY, ColZ)

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!

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