最近将我的项目从 EF4 升级到 EF6。我们正在使用 Miniprofiler 进行数据库分析,并且我们有一个创建分析上下文的函数,并且正在使用 StackExchange.Profiling.Data.ObjectContextUtils.CreateObjectContext 函数来创建对象上下文。我面临的问题是这个函数泛型类型有一个约束,它应该是 System.Data.Objects.ObjectContext 类型,但是当我们迁移到 ef6 时,它被移动到 System.Data.Entity.Core.Objects.ObjectContext 和因此正在破坏代码。
有人可以建议如何解决这个问题。代码如下。
protected override System.Data.Entity.Core.Objects.ObjectContext CreateProfiledObjectContext(EFProfiledDbConnection connection)
{
return StackExchange.Profiling.Data.ObjectContextUtils.CreateObjectContext<MyDbContext>(connection);
}
这适用于 EF4,因为 MyDbContext 派生自 System.Data.Objects.ObjectContext 但当我们移至 EF6 时,它派生自 System.Data.Entity.Core.Objects.ObjectContext 并因此破坏了代码。
问候