Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Melakukan Gabungan Dalam dalam LINQ ke SQL?

Bagaimanakah Saya Melakukan Gabungan Dalam dalam LINQ ke SQL?

DDD
DDDasal
2025-01-21 00:31:09862semak imbas

How Do I Perform Inner Joins in LINQ to SQL?

sambungan dalaman LINQ ke SQL: sintaks dan contoh

Inner bergabung dalam LINQ ke SQL menggabungkan baris daripada berbilang jadual berdasarkan predikat yang sepadan. Set hasil hanya mengandungi baris yang memenuhi kriteria gabungan. Untuk melakukan cantuman dalaman menggunakan klausa ON, gunakan sintaks berikut:

<code class="language-csharp">from t1 in table1
join t2 in table2 on t1.property equals t2.property
select new { t1.property1, t2.property2 } // 选择要包含在结果集中的字段</code>

Sebagai contoh, pertanyaan berikut mengembalikan semua rekod dalam jadual DealerContact yang mempunyai nilai DealerID yang sepadan dalam jadual Dealer:

<code class="language-csharp">var dealercontacts = from contact in DealerContact
                     join dealer in Dealer on contact.DealerId equals dealer.ID
                     select contact;</code>

Berikut ialah contoh yang lebih umum yang menunjukkan cantuman dalaman biasa dengan klausa HIDUP:

<code class="language-csharp">var results = from t1 in db.Table1
              join t2 in db.Table2 on t1.field equals t2.field
              select new { t1.field2, t2.field3 };</code>

Dalam contoh ini, db mewakili konteks data. Baris pertama mencipta alias Table1 untuk jadual t1 dan baris kedua mencipta alias Table2 untuk jadual t2. Klausa on mentakrifkan syarat gabungan dengan memadankan atribut field kedua-dua jadual. Pernyataan select menentukan medan setiap jadual untuk disertakan dalam set hasil. select new { ... } Buat jenis tanpa nama yang mengandungi medan pilihan anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Melakukan Gabungan Dalam dalam LINQ ke SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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