我得到異常「與當前連接關聯的事務已完成但尚未處理。事務必須在連接可用於執行SQL之前進行處理聲明「。當我使用TransactionScope將多次調用中發生的大量數據庫更新包裝到UpdateItem子例程中時。誰能幫明白這是什麼錯誤意味着與重組代碼同時保留保留,如果在foreach內出現任何故障,回滾能力的正確方法(拋出異常)使用單個TransactionScope來包裝大量數據庫更新時出現異常
static void Foo()
{
using (TransactionScope transactionScope = new TransactionScope())
{
foreach (var item in items)
{
UpdateItem(item);
}
transactionScope.Complete();
}
}
static void UpdateItem(string item)
{
using (MyDataContext db = new MyDataContext)
{
:
:
db.Table1.InsertOnSubmit();
:
db.SubmitChanges();
:
:
db.ExecuteCommand(); // I get the exception here
:
db.Table2.InsertOnSubmit();
:
db.SubmitChanges();
:
}
}
Whill [this](http://stackoverflow.com/a/6028691/706456)工作? – oleksii
做了什麼幫助?在大多數情況下,我的WCF服務出現同樣的錯誤。它工作正常,然後它最近開始拋出這個錯誤 –