Heim > Backend-Entwicklung > C++ > Wie führe ich mit LINQ einen Inner Join für DataTables in C# durch?

Wie führe ich mit LINQ einen Inner Join für DataTables in C# durch?

DDD
Freigeben: 2025-01-12 17:32:43
Original
856 Leute haben es durchsucht

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

Innerer Join zu DataTables mithilfe von LINQ in C#

Inner Join ist eine relationale Datenbankoperation, die Daten aus zwei oder mehr Tabellen basierend auf einer gemeinsamen Spalte abruft. In C# können Sie Inner Joins für DataTables mithilfe verschiedener Technologien, einschließlich LINQ, durchführen.

LINQ-Methode:

Wenn LINQ eine Option ist, zeigt das folgende Codefragment, wie ein Inner Join für zwei DataTables (T1 und T2) durchgeführt wird:

<code class="language-csharp">DataTable dt1 = new DataTable();
dt1.Columns.Add("CustID", typeof(int));
dt1.Columns.Add("ColX", typeof(int));
dt1.Columns.Add("ColY", typeof(int));

DataTable dt2 = new DataTable();
dt2.Columns.Add("CustID", typeof(int));
dt2.Columns.Add("ColZ", typeof(int));

// 添加一些示例数据
for (int i = 1; i <= 5; i++)
{
    dt1.Rows.Add(i, 10 + i, 20 + i);
    dt2.Rows.Add(i, 30 + i);
}

// 使用LINQ执行内连接
var results = from table1 in dt1.AsEnumerable()
              join table2 in dt2.AsEnumerable() on table1.Field<int>("CustID") equals table2.Field<int>("CustID")
              select new
              {
                  CustID = table1.Field<int>("CustID"),
                  ColX = table1.Field<int>("ColX"),
                  ColY = table1.Field<int>("ColY"),
                  ColZ = table2.Field<int>("ColZ")
              };

// 输出结果
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

Diese LINQ-Abfrage führt einen Inner Join mithilfe der on-Klausel durch, die angibt, dass die CustID-Spalten der beiden Tabellen gleich sein sollen. Das Ergebnis wird als anonymer Typ zurückgegeben, der die Spalten CustID, ColX, ColY und ColZ enthält.

Ausgabe:

Dieser Code gibt die folgenden Ergebnisse aus:

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

Das obige ist der detaillierte Inhalt vonWie führe ich mit LINQ einen Inner Join für DataTables 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage