2011-03-21 46 views
7
using (var context = new FirstEntities()) 
{ 
    using (var context1 = new SecondEntities()) 
    { 
    } 
} 

這工作,但由於某種原因沒有「感覺不對」 ......有誰知道不使用使用與實體框架陳述嵌套任何正當理由?任何不使用嵌套使用EF實體上下文的理由?

編輯:我的問題是沿線更多,如果有這樣一個場景,這種類型的嵌套可能導致異常或數據庫錯誤,而不是它是否是從建築立點建議...

回答

11

通過嵌套數據上下文將一次使用兩個數據庫連接。這是preferrable讓你從一個方面所需要的數據,關閉和打開下一個,並得到你從上下文中需要的數據。

這可能意味着更多的工作,你必須更好地規劃你的代碼,但它也意味着應用程序能更好地伸縮。

+0

謝謝,這是一個有效的架構理由不這樣做,但我的問題是沿線更多,如果有這樣一個場景,這種類型的嵌套可能導致異常或數據庫錯誤... – 2011-03-21 17:35:10

+0

嗯......讓我們考慮一下。能否擴展的應用程序會導致數據庫連接問題?嗯... ;-) – 2011-03-21 17:48:39

+2

@kzen:不,這一般不會導致錯誤。您當然可以創建一個場景,其中兩個實體使用同一個表格,對其中一個進行更改會導致錯誤或結果不一致。 – Guffa 2011-03-21 17:58:28

相關問題