ObjectContext在另一个ObjectContext中

时间:2013-05-10 14:20:37

标签: entity-framework recursion entity transactionscope objectcontext

我正在开发一个组件工厂系统,根据一些配置规则自动创建ObjectContexts。每次调用方法时,组件工厂都会决定在何处创建ObjectContext / Transaction范围等。

在大多数情况下,我能够处理ObjectContext的创建和处理。但是当一个方法递归调用自身时,我每次调用该方法时都会创建一个ObjectContext。它会是这样的:

using (MyEntities entitityContext = new MyEntities())
{
    // do some code here
    entitityContext.SaveChanges();

    using (MyEntities anotherEntitityContext = new MyEntities())
    {
        // do some other code here
        anotherEntitityContext.SaveChanges();
    }
}

EntityFramework如何处理它?第二个ObjectContext是否与第一个相同?如果没有,我怎么能管理第二个ObjectContext与第一个具有相同''new ObjectContext()''结构的“相同”引用?

我知道在对齐的TransactionScopes上按顺序相互连接,具体取决于事务配置。我希望ObjectContext具有相同的行为。如果没有对父ObjectContext的任何引用,这是否可行?

1 个答案:

答案 0 :(得分:0)

我发现Phil Soady是正确的。我找到了另一种使用ObjectContexts的方法,而无需创建多个对象。感谢您的评论。