下面嵌套左连接的linq等价物是什么?
SELECT y.YazilimciId, y.AdSoyad, u.UygulamaId, y.KullaniciAdi, y.IsTel, y.CepTel, y.Eposta, k.KurumAdi
FROM Yazilimcilar y,
UygulamaYazilimci uy,
Uygulamalar u
left outer join
(
UygulamaKurum uk
left outer join Kurumlar k on uk.KurumId = k.KurumId
) on u.UygulamaId = uk.UygulamaId
WHERE y.YazilimciId = uy.YazilimciId
AND uy.UygulamaId = u.UygulamaId
AND u.UygulamaId = '19EA3A29-40FF-45FF-B289-03885FDC9BFC'
答案 0 :(得分:0)
为什么需要嵌套连接?实际上,我以前从未见过这样的语法,但我不确定它是否会起作用,而不是在MS SQL Server上。您可以将查询编写为
SELECT y.YazilimciId, y.AdSoyad, u.UygulamaId, y.KullaniciAdi, y.IsTel, y.CepTel, y.Eposta, k.KurumAdi
FROM Yazilimcilar y,
UygulamaYazilimci uy,
Uygulamalar u
left outer join UygulamaKurum uk on u.UygulamaId = uk.UygulamaId
left outer join Kurumlar k on uk.KurumId = k.KurumId
WHERE y.YazilimciId = uy.YazilimciId
AND uy.UygulamaId = u.UygulamaId
AND u.UygulamaId = '19EA3A29-40FF-45FF-B289-03885FDC9BFC'
我还可以建议用正确的连接语法重写所有连接
SELECT y.YazilimciId, y.AdSoyad, u.UygulamaId, y.KullaniciAdi, y.IsTel, y.CepTel, y.Eposta, k.KurumAdi
FROM Uygulamalar u
inner join UygulamaYazilimci uy on uy.UygulamaId = u.UygulamaId
inner join Yazilimcilar y on y.YazilimciId = uy.YazilimciId
left outer join UygulamaKurum uk on u.UygulamaId = uk.UygulamaId
left outer join Kurumlar k on uk.KurumId = k.KurumId
WHERE u.UygulamaId = '19EA3A29-40FF-45FF-B289-03885FDC9BFC'
现在您可以轻松编写LINQ:)