首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Entity Framework 4中,默认情况下禁用延迟加载

在Entity Framework 4中,默认情况下禁用延迟加载
EN

Stack Overflow用户
提问于 2010-06-03 23:08:43
回答 4查看 79.4K关注 0票数 62

在EF4中,延迟加载似乎是默认启用的。至少,在我的项目中,我可以看到

代码语言:javascript
复制
dataContext.ContextOptions.LazyLoadingEnabled

默认情况下为true。我不想要延迟加载,也不想写:

代码语言:javascript
复制
dataContext.ContextOptions.LazyLoadingEnabled = false;

每次我得到一个新的上下文。那么,有没有一种方法可以在默认情况下关闭它,比如在整个项目中?

EN

回答 4

Stack Overflow用户

发布于 2011-10-03 10:59:19

我写了一个显示how the new Lazy Loading features work with EF Code First的快速示例。要在Code First模型中实现您想要的功能,只需向DbContext的构造函数添加一行代码,如下所示:

代码语言:javascript
复制
public BlogContext()
{
    this.Configuration.LazyLoadingEnabled = false;
}
票数 64
EN

Stack Overflow用户

发布于 2013-03-25 07:20:10

如果您可能首先使用EF4代码,是吗?因此,在您的上下文的初始化中,有'OnModelCreated‘的覆盖。

在此方法中,我只需调用并设置属性,所有问题都已解决。

代码语言:javascript
复制
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
     base.Configuration.LazyLoadingEnabled = false;
}

我的模型现在更容易接受了。懒惰加载是great...but,当你不想要它的时候。当你开始使用循环引用的时候,这是非常可笑的。

票数 24
EN

Stack Overflow用户

发布于 2013-05-30 13:35:37

您也可以在设计器中执行此操作。只需打开.edmx文件,右键单击模型上的任意位置,然后选择属性。然后将LazyLoadingEnabled设置为false。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2967214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档