4
我想更新交易中的兩個視圖。如果其中一個失敗,另一個也會失敗。 Formviews擁有自己的實體數據源。EF更新交易中的視圖
button1_click(..........)
{
formview1.updateItem(true);
formview2.updateItem(true);
}
我想更新交易中的兩個視圖。如果其中一個失敗,另一個也會失敗。 Formviews擁有自己的實體數據源。EF更新交易中的視圖
button1_click(..........)
{
formview1.updateItem(true);
formview2.updateItem(true);
}
好吧,這可能不是世界上最簡單的東西。
基本的答案是,你可以做到。如果updateItem方法打開數據庫連接,代碼將與此類似。
using (TransactionScope scope = new TransactionScope())
{
formview1.updateItem(true);
formview2.updateItem(true);
scope.Complete();
}
如果在另一方面的連接已經由的updateItem被稱爲然後同時打開你需要做更多的東西一樣
using (TransactionScope scope = new TransactionScope())
{
formview1.Connection.EnlistTransaction(Transcation.Current);
formview2.Connection.EnlistTransaction(Transcation.Current);
formview1.updateItem(true);
formview2.updateItem(true);
scope.Complete();
}