我有三個層次的表「董事」,「經理」和「領導者」與一個在它們之間一對多的關係。LINQ查詢的outerjoining家長和孩子(嵌套)表
我想帶所有的董事,管理人員和領導者的行分別與子女的關係一起。(也許LeftOuterJoin)
例如董事表有
DirectorID DirectorName
1 Director1
經理
經理ID經理ID經理姓名
名1 1 Manager 1
2 1 Manager 2
領導
領導者ID經理ID負責人姓名
1 1 Leader 1
2 1 Leader 2
我想查詢返回
DIRID DirectorName MGRID ManagerName LdrID LeaderName
1 Director1
1 Director1 1經理1
1 Director1 1 Manager1 1 Leader1
1 Director1 1 Manager1 2 Leader1
1 Director1 2 Manager2
我LINQ查詢只導致3行
DIRID DirectorName MGRID ManagerName LdrID LeaderName
1 Director1 1 Manager1 1 Leader1
1 Director1 1 Manager1 2 Leader1
1 Director1 2 Manager2
var query = from d in db.Directors
join m in db.Managers on d.DirectorID equals m.DirectorID into directorMgrGroup
from dmgr in directorMgrGroup.DefaultIfEmpty()
join l in db.Leaders on dmgr.ManagerID equals l.ManagerID into mgrLeaderGroup
from mlgr in mgrLeaderGroup.DefaultIfEmpty()
感覺就像一個小的調整。只是不能把它做對。誰能幫幫我嗎?謝謝。
請註明'select'條款。另外預期的結果類型是什麼?'IQueryable <匿名類型>'或者可以是'IEnumerable <匿名類型>'?我在問,因爲連接不是問題,但樣本輸出不能用LINQ to Entities生成,但最終可以用LINQ to Objects生成。 –
謝謝。我錯誤地忘了在上面的sql中添加它。但我在我的linq查詢中有一個select {}。 – lama