Entity framework 实体框架ctp5获取未经验证的实体

Entity framework 实体框架ctp5获取未经验证的实体,entity-framework,entity-framework-ctp5,Entity Framework,Entity Framework Ctp5,EF CTP 5。我有一个实例,我想得到未经验证的实体。我似乎找不到办法来做这件事。我不想同时禁用代理创建,只需要在这个查询中使用它。有人能帮忙吗 下面是一个简单的例子: var myEntity = DbContext.Entities.Find(1); var unproxy = myEntity...? 我认为唯一的可能是创建DbContext的新实例,并关闭代理创建功能以执行此查询。原因是DynamicProxy是在运行时创建的类型,它派生自原始实体类型,并添加了跟踪和延迟加载功能。以

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);
}

谢谢,我试试看。不是最优的,可能是PITA。问题是我正在尝试缓存该代理,如果缓存代理,它将保留ChangeTracker并导致所有类型的问题。如果唯一的问题是ChangeTracker,则可以尝试使用.AsNoTracking()运行查询(还可能关闭延迟加载)。