Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melakukan Gabungan Pelbagai Medan dalam LINQ?
Berbilang medan sertai dalam LINQ
Apabila melakukan operasi sambungan dalam LINQ2DataSet, anda boleh menentukan syarat sambungan untuk berbilang medan berbeza untuk mencapai pengambilan data yang lebih kompleks dan tepat.
Anda boleh membuat gabungan berbilang medan dalam satu pernyataan hanya dengan menggunakan sintaks berikut:
<code class="language-csharp">var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 } select new { x, y }; // or select specific fields</code>
Dalam contoh ini, klausa gabungan bergabung dengan baris dalam entiti dengan baris dalam entiti2 berdasarkan kesamaan dua medan (medan1 dan medan2). Ini menghasilkan produk Cartesian daripada dua jadual, yang kemudiannya boleh ditapis menggunakan syarat tambahan dalam klausa where.
Sila ambil perhatian bahawa teknik ini hanya berfungsi dengan equijoin (perbandingan kesamaan). Jika anda perlu melakukan bukan equijoin, anda boleh menambah syarat tambahan pada klausa where.
Sebagai contoh, untuk melakukan gabungan pada pertanyaan julat tarikh yang mengandungi ID jadual, anda boleh menggunakan kod berikut:
<code class="language-csharp">var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 } where x.StartDate >= startDate && x.EndDate <= endDate select new { x, y }; // or select specific fields</code>
Kod ini menggabungkan baris dalam entiti dengan baris dalam entiti2 berdasarkan kesamaan medan1 dan medan2, dan kemudian menapis hasil berdasarkan julat tarikh yang ditentukan. select new { x, y }
Anda boleh memilih untuk mengembalikan semua sifat objek x dan y, atau anda boleh memilih sifat tertentu jika perlu.
Dengan kaedah ini, operasi gabungan pelbagai medan boleh dilakukan dengan cekap untuk memenuhi keperluan pertanyaan yang lebih kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Gabungan Pelbagai Medan dalam LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!