C#学习教程:全局禁用Entity框架中的动态代理分享


全局禁用Entity框架中的动态代理

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

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

谢谢

方法1

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

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

方法2

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

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

并加入

 this.Configuration.ProxyCreationEnabled = false; 

方法3

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

上述就是C#学习教程:全局禁用Entity框架中的动态代理分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

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

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/959979.html

发表评论

邮箱地址不会被公开。 必填项已用*标注