2011-12-30 84 views
0

我正在使用TransactionScope,然後將數據保存在數據庫中。TransactionScope如何處理多個查詢?

在保存數據後的同一個事務中,我改變了發送保存的對象的值。

現在我的問題是:它會保存更改的數據嗎?以及轉換是如何工作的(將數據保存在每個呼叫的數據庫中,或者在transactionObject.Commit()調用後保存數據)?

回答

0

僅當您致電transactionObject.Commit()時纔會永久保存數據。即使您更改保存的對象,它也不會反映更改,除非再次保存該對象。

0

我想TransactionScope應該使用Complete方法提交數據(請參閱this article)。 請閱讀this MSDN article

它指出:

它僅僅是告知你的狀態,事務管理的一種方式。調用此方法後,您不能再通過Current屬性訪問環境事務,並試圖這樣做會導致拋出異常。

和:

的資源管理器之間承諾的實際工作情況在最終使用的語句,如果TransactionScope的對象創建的事務。如果它沒有創建事務,則只要CommittableTransaction對象的所有者調用Commit,就會發生提交。

但是,最簡單的方法是在特定情況下用示例代碼檢查它;)。