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
Freigeben: 2025-01-12 17:21:43
Original
835 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage