2011-04-19 64 views
0

MSDN沒有定義什麼Dispose應該爲事務做。所以我的猜測是,ADO.NET驅動程序不會做任何特殊的事情(除了清理資源)?IDbTransaction和IDisposable

如果CommitRollback都沒有在Dispose之前沒有被調用,它會調用Rollback會很可愛。

回答

2

如果在調用Dispose()之前沒有發生成功調用Commit()的行爲(儘管這可能沒有正式記錄)是Rollback()。這可以通過反彙編.NET System.Data程序集來驗證。

+0

我剛查過了npgsql的源代碼。它的交易實施也是如此。 – jgauffin 2011-05-29 08:15:14