我一直在这篇文章下面,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()。