我有一個查詢在下面,但我想執行一個Include()來提前加載屬性。操作有一個導航屬性,用戶(Action.User)LINQ表達式語法如何與Include()進行預先加載
1)我的基本查詢:
from a in Actions
join u in Users on a.UserId equals u.UserId
select a
2)第一次嘗試:
from a in Actions.Include("User")
join u in Users on a.UserId equals u.UserId
select a
但Action.User是不人口。
3)儘量渴望負荷「用戶」進入導航屬性的動作查詢外:
(from a in Actions
join u in Users on a.UserId equals u.UserId
select a).Include("User")
在LINQPad試圖包含的我得到一個錯誤:
「System.Linq.IQueryable」沒有包含'Include'的定義並且沒有擴展方法'Include'接受類型'System.Linq.IQueryable'的第一個參數可以被找到(按F4添加使用指令或程序集引用)
我認爲這是因爲LINQ不支持Include() 。
所以我嘗試在VS;查詢2運行,但返回未填充的用戶屬性。 查詢3擴展方法似乎並不存在,儘管它沒有查詢就存在於Action本身。
Action-Model的屬性名爲「User」?你有DbContext嗎? – dknaack