【发布时间】:2011-09-12 16:54:17
【问题描述】:
所以我的课程看起来像这样。
public class User {
public virtual IList<Member> Members {get;set;}
}
public class Member {
public virtual AnotherTable Another {get;set;}
}
public class AnotherTable {
public string Name {get;set;}
}
当我直接对 DataContext 执行查询时,Include 工作,但是当我对成员的 IList 执行 AsQueryable() 时,include 不起作用。
有没有办法在延迟加载的属性(例如上面的 Members 属性)上提供 Include/Eager 功能,还是我总是必须通过 DataContext 才能获得该功能?
User.Members.AsQueryable().Include(a => a.Another).ToList() // <-- nada, no way Jose
_db.Members.Include(m => m.Another).ToList() // <-- all good in the neighborhood
我问是因为 1 条 sql 查询与 100 条查询的结果相当。
提前致谢。
【问题讨论】:
标签: entity-framework c#-4.0 orm entity-framework-4.1