2016-12-06 49 views
0

如何在包含條件的地方使用? ProgressItems is ICollection <> object。我想獲得帶有過濾項目的整個Goal對象。我該如何解決它?在linq的條件中使用的地方包括

 return _dbContext.Goals 
      .Include(p => p.GoalExpectation) 
      .Include(p => p.ProgressItems.Where(r => r.Value > 100)) 
      .SingleOrDefault(p => p.Id == id); 

我得到這樣的異常

包含路徑表達式必須引用的類型所限定的導航屬性 。使用虛線路徑作爲參考導航 屬性和Select運算符用於收集導航 屬性。參數名稱:路徑

+0

Linq To SQL和Entity Framework不支持過濾包含。 –

回答

0

您不能,您必須通過使用查詢來限制它,該查詢可以使用篩選器獲取包含的項目並將其分配給目標對象。

1

include語句期望導航屬性(如錯誤所述)。純語法上它看起來是正確的,但它似乎是錯誤的,因爲Where不返回導航屬性。