2011-04-19 57 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