我一直在這篇文章下面,http://blogs.msdn.com/b/adonet/archive/2011/01/31/using-dbcontext-in-ef-feature-ctp5-part-6-loading-related-entities.aspx實體框架 - 故障與.Load()
具體標題爲「應用過濾器加載明確相關實體的時候」。
我需要做的是這樣的:當我通過這一步
db.Configuration.LazyLoadingEnabled = false;
var class = db.Classes.Find(1);
db.Entry(class).Collection(c => c.Students).Query().Where(s => s.grade > 2.0).Load();
,看SQL事件探查我看到加載類的查詢。然後我看到應該加載學生,但類的查詢。學生從未填充,並保持空。但是,如果我從SQL分析器中複製學生查詢並在自己中運行,則會返回相應的學生。看來,實體框架正在運行學生查詢並獲得正確的結果,但沒有將它們附加到類對象。
有辦法我可以解決這個問題,但我想知道如果我錯過了一個步驟,或者如果我沒有正確使用.Load()。