首页 新闻 会员 周边 捐助

如何让EF不产生EntityFrameworkDynamicProxies

0
悬赏园豆:30 [已解决问题] 解决于 2015-03-13 14:36

使用Entity Framework查询得到的实体写入memcached缓存后进进行读取时,会报找不到以"EntityFrameworkDynamicProxies-"开头的程序集的错误。

这是由于EF动态生成了实体类的代理类,请问如何禁止EF产生这样的代理类?

EF
dudu的主页 dudu | 高人七级 | 园豆:30939
提问于:2015-03-12 22:23
< >
分享
最佳答案
0

在查询时加上  .AsNoTracking() 

参考:Performance Considerations for Entity Framework 4, 5, and 6

dudu | 高人七级 |园豆:30939 | 2015-03-13 12:04

.AsNoTracking() 不起作用,后来用下面的配置解决了问题:

dbContext.Configuration.ProxyCreationEnabled = false;
dudu | 园豆:30939 (高人七级) | 2015-03-13 14:35
dudu | 园豆:30939 (高人七级) | 2015-03-13 18:24
其他回答(3)
0

目前我只会删除。。。

收获园豆:15
_Vegetables | 园豆:586 (小虾三级) | 2015-03-13 08:50
0

解决了就把分分我点。哈哈。

收获园豆:15
xiaocong_soft | 园豆:556 (小虾三级) | 2015-03-13 13:40

还没解决,加了.AsNoTracking(),不知道为什么不起作用。

支持(0) 反对(0) dudu | 园豆:30939 (高人七级) | 2015-03-13 13:50
0

目前也遇到这个问题,采用的方式是:


Context.Configuration.ProxyCreationEnabled = false;
Context.Configuration.LazyLoadingEnabled = false;

 

但是感觉不稳定,偶尔还是会报错,竟然是随机性的,有其他的解决办法吗?

kingdizzy | 园豆:170 (初学一级) | 2016-01-04 10:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册