Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melaksanakan Gabungan Luar Kiri dengan Syarat Sertaan Berbilang dalam LINQ ke SQL?

Bagaimana untuk Melaksanakan Gabungan Luar Kiri dengan Syarat Sertaan Berbilang dalam LINQ ke SQL?

Mary-Kate Olsen
Lepaskan: 2024-12-31 22:16:17
asal
535 orang telah melayarinya

How to Implement a Left Outer Join with Multiple Join Conditions in LINQ to SQL?

LINQ to SQL: Melaksanakan Left Outer Join with Multiple Join Condition

LINQ to SQL membenarkan penciptaan pertanyaan kompleks menggunakan C# sintaks. Satu tugas biasa ialah melaksanakan cantuman luar kiri dengan berbilang syarat cantum.

Untuk memahami keperluan memasukkan syarat cantum dalam pernyataan JOIN dan bukannya klausa WHERE, pertimbangkan pernyataan SQL berikut:

SELECT f.value
FROM period as p
LEFT OUTER JOIN facts AS f ON p.id = f.periodid AND f.otherid = 17
WHERE p.companyid = 100
Salin selepas log masuk

Di sini, walaupun jadual fakta (f) tidak mempunyai baris yang sepadan dengan tempoh tertentu, kami masih mahu tempoh itu dimasukkan dalam keputusan. Meletakkan syarat cantum tambahan dalam klausa WHERE akan menghilangkan tempoh sedemikian daripada hasil.

LINQ kepada penyelesaian SQL melibatkan penggunaan sintaks kaedah sambungan. Coretan kod berikut menunjukkan cara:

from p in context.Periods
join f in context.Facts on p.id equals f.periodid into fg
from fgi in fg.Where(f => f.otherid == 17).DefaultIfEmpty()
where p.companyid == 100
select f.value
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan subkueri:

from p in context.Periods
join f in context.Facts on p.id equals f.periodid into fg
from fgi in (from f in fg
             where f.otherid == 17
             select f).DefaultIfEmpty()
where p.companyid == 100
select f.value
Salin selepas log masuk

Dengan meletakkan syarat sertai dalam penyata JOIN, kami memastikan bahawa hanya titik dengan fakta sepadan yang memenuhi syarat otherid = 17 disertakan dalam keputusan, sambil masih melakukan sambung luar kiri. Pendekatan ini membolehkan kita mencapai tingkah laku yang diingini tanpa mengorbankan faedah gabungan luar kiri.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Gabungan Luar Kiri dengan Syarat Sertaan Berbilang dalam LINQ ke SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan