2017-03-03 118 views
0

我們的系統管理所有共享相同表(標準表)的N個數據庫,但是另外每個數據庫都有自己的特定表。實體框架,事務

訪問標準表的模塊在內核中編程。爲了訪問specefic表,我們通過反射來加載程序集,其中每個數據庫都有一個特定的程序集。

我們如何解決與標準表(核心編程)以及整個操作處於事務中的特定情況(由於反射)一起工作的操作?

我們不能用2 EF背景下,由於我們不能使用分佈式事務

預先感謝您

+0

對於通過反射加載的程序集,您會做什麼?你看過你需要的桌子嗎?你應該更詳細地解釋。 –

回答

0

如果使用兩個DbContexts相同的連接字符串,你不需要因爲您可以將您擁有的SqlTransaction傳遞給每個DbContext - 請參閱https://msdn.microsoft.com/en-us/library/dn456843(v=vs.113).aspx下的「將現有事務傳遞到上下文」標題

+0

Thx,我開始按照你的建議工作,我取得了一些進展。 ctx1 c1 = new ctx1(); ctx2 c2 = new ctx2(c1.Database.Connection,false); VAR lCtasQry =(從c2.plan_de_cuentas p 選擇P) 但我收到異常 「拋出新UnintentionalCodeFirstException();」 我閱讀,我不得不把這些信息在方法 保護覆蓋無效OnModelCreating(DbModelBuilder模型構建器) { 拋出新UnintentionalCodeFirstException(); } 但我不知道如何去做 –

+0

問一個新問題,請 – ErikEJ