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的方法,而無需創建多個對象。感謝您的意見。