Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melakukan Inner Join pada DataTables dalam C# menggunakan LINQ?

Bagaimana untuk Melakukan Inner Join pada DataTables dalam C# menggunakan LINQ?

DDD
Lepaskan: 2025-01-12 17:32:43
asal
929 orang telah melayarinya

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

Sambungan dalaman ke DataTables menggunakan LINQ dalam C#

Inner join ialah operasi pangkalan data hubungan yang mendapatkan semula data daripada dua atau lebih jadual berdasarkan lajur biasa. Dalam C#, anda boleh melakukan gabungan dalaman pada DataTables menggunakan pelbagai teknologi, termasuk LINQ.

Kaedah LINQ:

Jika LINQ ialah pilihan, coretan kod berikut menunjukkan cara untuk melakukan cantuman dalaman pada dua Jadual Data (T1 dan T2):

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));
}
Salin selepas log masuk

Pertanyaan LINQ ini melakukan cantuman dalaman menggunakan klausa on, yang menentukan bahawa lajur CustID kedua-dua jadual hendaklah sama. Hasilnya dikembalikan sebagai jenis tanpa nama yang mengandungi lajur CustID, ColX, ColY dan ColZ.

Output:

Kod ini akan mengeluarkan keputusan berikut:

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

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Inner Join pada DataTables dalam C# menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan