我有2 linq 2 SQL語句我想在事務中(SQL服務器是遠程的,在防火牆等之外)所有其他通信都可以,但是當我在TransactionScope()中包裝這兩條語句時,我開始必須配置我們所做的MSDTC,但後來有防火牆問題(我認爲)有沒有更簡單的方法?簡單事務
的是我想做的事情歸結爲這樣的基礎:(兩者都在引擎蓋下存儲的特效)
using (var transactionScope = new TransactionScope())
{
Repository.DataContext.SubmitChanges();
Repository.DataContext.spDoFinalStuff(tempID, ref finalId);
transactionScope.Complete();
}
什麼是實現這一目標的最簡單的方法?
編輯:
首先我得到這樣的:事務管理器已禁用其遠程/網絡事務的支持。 (來自HRESULT的例外:0x8004D024) 在我們的服務器上,我按照指示here糾正此問題。但是,說明似乎並不適用於Windows 7(我的開發盒)看到我對上述答案的評論。
糾正問題後(在非win7的盒子上)我得到這個:事務已經被隱式或顯式提交或中止(異常來自HRESULT:0x8004D00E),其中一些使用suggested可能是防火牆問題。
編輯
我剛剛發現遠程數據庫是SQL 2000
ahhh我剛剛發現遠程服務器正在使用SQL 2000 – Myster 2010-08-22 21:18:51