【发布时间】:2015-07-21 02:43:03
【问题描述】:
我做了一些扩展方法来计算相关记录,我不想显式传递 DbContext,所以我获取 ObjectContext 并从中创建一个 DbContext。
当原来的 DbContext 被释放时,新的 DbContext 会被释放吗?
var original = new CustomDbContext("connectionString")
var entity = original.Table.First()
// in the extension method
var objectContext = entity.GetObjectContext()
var newDbContext = new CustomDbContext(objectContext, false)
// dispose of newDbContext??
// original caller
original.Dispose()
【问题讨论】:
-
进行了一些测试,从 ObjectContext 创建的 DbContext 在您处理原始连接后无法使用。 (“ObjectContext 实例已被释放,不能再用于需要连接的操作。”)
标签: c# entity-framework