我一直在观察,有时我的查询会返回代理,有时它们会在我指定之后返回代理 this.Configuration.ProxyCreationEnabled = false;
我完全不知所措。有人知道为什么有时会发生这种情况吗?这是一个错误吗?
我的代码确实如此:
this.Configuration.ProxyCreationEnabled = false;
this.Configuration.LazyLoadingEnabled = false;
var result = query();
查询是“SingleOrDefault”。这让poco很好。
然后我通过删除“SingleOrDefault”并使用“Where”子句来更改它以返回列表 - 现在它返回代理列表而不是poco。
答案 0 :(得分:2)
我想我终于找到了这个烦人问题的答案。
EF5 DBContext configuration ignored
基本上,如果对象作为代理在db上下文中缓存,则无论配置是否使用代理,它都将作为代理返回。
解决方案是创建一个新的上下文,然后进行查询,或者始终关闭代理创建,而不是在运行时动态更改配置。