1

我正在使用组件工厂系统,其中ObjectContexts根据一些配置规则自动创建。每次调用某个方法时,组件工厂都会决定创建ObjectContext/Transaction范围的位置等。另一个ObjectContext中的ObjectContext

在大多数情况下,我能够处理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作为第一个具有相同的''新ObjectContext()'构造的“相同”引用?

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

+1

听起来就像是在重塑IoC容器。大多数IoC容器允许配置寿命管理。 – 2013-05-10 14:52:20

+1

我会补充说,没关系,但可能会有多个错误打开。我知道从犯错误...无论如何,如果IoC对于您的解决方案来说太多了,至少考虑短的生命周期单例。 – 2013-05-10 15:09:37

回答

0

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