我有以下问题:
using (var forumsDb = new ForumsDb())
{
forumsDb.Configuration.LazyLoadingEnabled = false;
var categoryList = forumsDb.Categories.Select(c => c).ToList();
/***some code here***/
}
现在,categoryList
包含 4 个项目(我在数据库中有 4 个类别),但它们都是 dynamicproxies
类型,而不是(如我所料)类别
。
我做错了什么?
最佳答案
你没有做错任何事。 EF 将您的实体包装在版本跟踪代理中,以便它可以检测您的对象的更改并支持延迟加载。
如果你想删除代理,你可以从上下文中分离对象,或者你可以通过指定 DbContext.Configuration.ProxyCreationEnabled
false 来完全关闭版本跟踪
关于c# - EF 代码优先 - 获取 DynamicProxies 而不是对象。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12465369/