gpt4 book ai didi

c# - 全局禁用 Entity Framework 中的动态代理

转载 作者:可可西里 更新时间:2023-11-01 07:52:49 28 4
gpt4 key购买 nike

请问如何为在 Entity Framework 5 中创建的所有实体禁用动态代理。

目前,我在 DbContext 的每个实例中设置此 espEntities.Configuration.ProxyCreationEnabled = false; 是否有一种方法可以为当前和 future 的模型执行此操作作为一次性任务。

谢谢

最佳答案

方法一

如果您有 EDMX 模型,则会创建分部类。使用它并在 OnContextCreated 中您可以禁用 ProxyCreationEnabled

public partial class MyModelContainer
{
public void OnContextCreated()
{
this.Configuration.ContextOptions.ProxyCreationEnabled = false;
}
}

方法二

编辑 model.tt 文件。找到包含如下内容的行:

partial class <#=code.Escape(container)#> : DbContext

并加入

this.Configuration.ProxyCreationEnabled = false;

方法三

如果您没有使用 EDMX 文件,请在您的上下文构造函数中执行此操作:(假设您的上下文称为 EspEntities)

public class EspEntities : DbContext
{
public EspEntities()
{
Configuration.ProxyCreationEnabled = false;
}
}

关于c# - 全局禁用 Entity Framework 中的动态代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674310/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com