我有一個數據庫中的查詢:LINQ不返回所有子記錄
SELECT GreenInventoryBlendGradeID,bgx.blendgradeid,
bgX.GreenBlendGradeTypeID,[Description]
FROM [GreenInventory] gi
INNER JOIN [GreenInventoryBlendGradeXref] bgX
ON bgX.[GreenInventoryID] = gi.[GreenInventoryID]
INNER JOIN [BlendGrade] bg
ON bg.[BlendGradeID]=bgx.[BlendGradeID]
返回3個記錄:
TYPEID說明
1 XR
2 XR
1 XF2
的LINQ:
我已經嘗試了不同的Where子句包括簡單 - (X => x.GreenInventoryID == ID) 但始終只有第2個返回記錄。
任何想法?
如果我嘗試以下方法:
var GreenInventory = (from gi in Session.GreenInventory.Where(y => y.GreenInventoryID == id)
join bgX in Session.GreenInventoryBlendGradeXref.DefaultIfEmpty() on gi.GreenInventoryID equals bgX.GreenInventoryID
join bg in Session.BlendGrade.DefaultIfEmpty() on bgX.BlendGradeID equals g.BlendGradeID
select new { GreenInventory = gi, GreenInventoryBlendGradeXref = bgX, BlendGrade = bg });
我回來每個對象的3和正確的信息在BlendGrade對象。它看起來像3個GreenInventory對象是相同的。它們每個都包含兩個GreenInventoryBlendGradeXref對象,它們顯示與以前相同的兩條記錄。
所以我不清楚原來的問題是什麼。也不知道這是否是解決問題的最佳方法。
感謝您的答案。如果有人有進一步的想法,請讓我們知道。
使用以下內容: – mackjazzy 2012-07-27 14:37:06