比方說,我有這個疑問在SQL:LINQ:將加入與左連接
SELECT
....
FROM
TableA a
JOIN TableB b on a.Id = b.Id
我已經得到了工作得很好的LINQ查詢:
var results = (from a in db.TableA
join b in db.TableB on a.Id equals b.Id
select new MyObject {...}).ToList();
但現在我想還要爲組合添加左連接。在SQL中:
SELECT
....
FROM
TableA a
JOIN TableB b on a.Id = b.Id
LEFT JOIN TableC c on a.Id2 = c.Id2
我不知道如何在linq查詢中處理這個問題。
只需在你的tableB連接後將一行添加到db.TableC上的a.Id中加入c等於c.Id' –
即使TableC現在具有匹配的記錄,它的行爲就像是LEFT JOIN幷包含TableA中的所有行(c .ID2爲空)? –
你知道如何編寫[LINQ中的左外連接](https://msdn.microsoft.com/en-us/library/bb311040.aspx#Anchor_2),不是嗎?就像在查詢中沒有其他連接一樣編寫它,例如'在a.Id2上的TableC中加入c等於c.Id2在ac.DefaultIfEmpty()中的c中加入ac' –