EF CTP 5. 我有一个实例,我想在其中获取未代理的实体。我似乎找不到办法做到这一点。我不想一起禁用代理创建,只需要它来进行这个查询。任何人都可以帮忙吗?
这是一个简单的例子:
var myEntity = DbContext.Entities.Find(1);
var unproxy = myEntity...?
EF CTP 5. 我有一个实例,我想在其中获取未代理的实体。我似乎找不到办法做到这一点。我不想一起禁用代理创建,只需要它来进行这个查询。任何人都可以帮忙吗?
这是一个简单的例子:
var myEntity = DbContext.Entities.Find(1);
var unproxy = myEntity...?
我相信唯一的可能性是创建新实例DbContext
并关闭代理创建只是为了执行这个查询。原因是 DynamicProxy 是在运行时创建的类型,它从您的原始实体类型派生并添加了跟踪和延迟加载功能。以这种方式创建代理后,您将无法将其剥离。试试这个:
using (var context = new MyDbContext(connectionString))
{
((IObjectContextAdapter)context).ObjectContext.ContextOptions.ProxyCreationEnabled = false;
var myEntity = context.Entities.Find(1);
}