如何解决实体框架代理创建
| 我们可以使用停止在上下文构造函数中创建代理this.Configuration.ProxyCreationEnabled = false;
在EF 4.1中创建代理的优点和缺点是什么?
解决方法
代理对于两个功能是必需的:
延迟加载-首次访问时加载导航属性
动态更改跟踪-如果您修改实体中的任何属性,则会向上下文通知此更改并设置实体的状态。如果未使用动态更改跟踪,则上下文必须使用快照更改跟踪,这意味着在进行保存之前发现所有更改=浏览所有属性,即使它们没有更改。
这两种技术都有其他要求:
延迟加载-实体中的所有导航属性都必须为“ 1”。必须启用延迟加载。
动态更改跟踪-所有映射的属性都必须为“ 1”。
, 除了上一个答案外,运行时还通过反射使用您的POCO类,并创建一个继承您的POCO类的动态代理类。因此,它将在运行时中添加那些功能+ EntityObject功能,这些功能将帮助动态代理启用延迟加载和动态更改跟踪。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。