我正在使用Entity Framework 4.1代码第一种方法。
我希望将急切加载作为我的dafault配置,并避免在每个提取查询中使用Include扩展方法。
我在MSDN中推荐,在DbContext构造函数中更改了简单的lazy属性:
public class EMarketContext : DbContext
{
public EMarketContext()
{
// Change the default lazy loading to eager loading
this.Configuration.LazyLoadingEnabled = false;
}
}
不幸的是,这种方法不起作用。我必须使用Include方法在每个查询中执行预先加载。有什么想法吗? 提前谢谢。
答案 0 :(得分:26)
预先加载没有默认配置。您必须始终定义Include
或创建一些可重用的方法,它将包装添加包含。例如,您可以将类似的方法放在您的上下文中:
public IQueryable<MyEntity> GetMyEntities()
{
return this.MyEntities.Include(e => e.SomeOtherEntities);
}