C# 如何为dbContext的每个实例禁用延迟加载?

C# 如何为dbContext的每个实例禁用延迟加载?,c#,entity-framework-4,lazy-loading,C#,Entity Framework 4,Lazy Loading,我创建了一个edmx,在designer.cs文件中有3个构造函数。在每个构造函数中,我添加以下行: this.Configuration.LazyLoadingEnabled = false; 但是,当我创建一个新的DBContext时,延迟加载被启用,因为当我创建一个新的DBContext时,没有使用任何这个构造函数 哪些构造函数用于创建新的DBContext 编辑:我没有先使用代码。我从SQL Server数据库创建edmc 谢谢。我认为EDMX设计时画布属性中有一个属性可以禁用延迟加载

我创建了一个edmx,在designer.cs文件中有3个构造函数。在每个构造函数中,我添加以下行:

this.Configuration.LazyLoadingEnabled = false;
但是,当我创建一个新的DBContext时,延迟加载被启用,因为当我创建一个新的DBContext时,没有使用任何这个构造函数

哪些构造函数用于创建新的DBContext

编辑:我没有先使用代码。我从SQL Server数据库创建edmc


谢谢。

我认为EDMX设计时画布属性中有一个属性可以禁用延迟加载。 edmx文件在ConceptualModel和EntityContainer定义中有一个用于延迟加载的属性,您可以将延迟加载设置为false:

<EntityContainer Name="MyEntitiesContext" annotation:LazyLoadingEnabled="false">


ref:

edmx设计属性上的属性称为
LazyLoadingEnabled
-默认为true

这在T4模板(MyModel.Context.tt)中使用,如下所示:

public <#=Code.Escape(container)#>()
    : base("name=<#=container.Name#>")
{
<#
    WriteLazyLoadingEnabled(container);
#>
}
如果FWR属性在EDMX设计器中不可见,则可以删除条件代码生成,并对其进行硬编码:

public <#=Code.Escape(container)#>()
    : base("name=<#=container.Name#>")
{
    this.Configuration.LazyLoadingEnabled = false;
    // more setup here, e.g. this.Configuration.ProxyCreationEnabled = false;    
}
public()
:base(“name=”)
{
this.Configuration.LazyLoadingEnabled=false;
//此处有更多设置,例如this.Configuration.ProxyCreationEnabled=false;
}

您可以转到EDMX文件属性,其中有一个属性延迟加载。把它设为假的

问候,

=================================================

你没有这个吗?

==新编辑==

我有这一行:但注释给了我一个错误:前缀没有定义。@阿尔瓦罗加西亚您必须在设计器中单击。您看到的是“仅文件”的属性,而不是设计器中当前活动对象的属性。您必须打开edmx,然后按F4键(属性)您是否制定了干净的解决方案并重新生成?您是如何创建dbcontext的?像这样:使用(sergionenties dm=newsergionenties()){},当你像我在图像中那样放置断点时,你会看到lazyloading=true?那我就不明白了。我有这样的想法:使用(SergioEntities dm=new SergioEntities()){bool test=dm.Configuration.LazyLoadingEnabled;}并且test给了我false!我刚刚创建了一个EDMX,添加了一个表,并将Lazy Loading Enable设置为false。它是有效的。。。
public <#=Code.Escape(container)#>()
    : base("name=<#=container.Name#>")
{
    this.Configuration.LazyLoadingEnabled = false;
    // more setup here, e.g. this.Configuration.ProxyCreationEnabled = false;    
}