0
MSDN沒有定義什麼Dispose
應該爲事務做。所以我的猜測是,ADO.NET驅動程序不會做任何特殊的事情(除了清理資源)?IDbTransaction和IDisposable
如果Commit
和Rollback
都沒有在Dispose
之前沒有被調用,它會調用Rollback
會很可愛。
MSDN沒有定義什麼Dispose
應該爲事務做。所以我的猜測是,ADO.NET驅動程序不會做任何特殊的事情(除了清理資源)?IDbTransaction和IDisposable
如果Commit
和Rollback
都沒有在Dispose
之前沒有被調用,它會調用Rollback
會很可愛。
如果在調用Dispose()之前沒有發生成功調用Commit()的行爲(儘管這可能沒有正式記錄)是Rollback()。這可以通過反彙編.NET System.Data程序集來驗證。
我剛查過了npgsql的源代碼。它的交易實施也是如此。 – jgauffin 2011-05-29 08:15:14