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