gpt4 book ai didi

nhibernate - Nhibernate session.BeginTransaction 是否在使用中发生异常时自动回滚

转载 作者:行者123 更新时间:2023-12-03 06:53:27 26 4
gpt4 key购买 nike

好的,抱歉,主题名称太长了...

如果我执行以下操作:

using (var transaction = session.BeginTransaction())
{
// do something
transaction.Commit();
}

如果我的做某事导致异常,它会自动回滚,还是需要像下面这样显式检查:

using (var transaction = session.BeginTransaction())
{
try
{
// do something
transaction.Commit();
}
catch (Exception)
{
transaction.Rollback();
}
}

最佳答案

可以肯定的是,如果在 using block 中提交失败,事务将回滚。

ITransaction 在幕后包装 ADO.NET 事务,因此它取决于提供程序的特定实现。我检查的源代码 (2.1) 中的 Dispose 方法假设在内部 IDbTransaction 上调用 Dispose 会将其回滚。

关于nhibernate - Nhibernate session.BeginTransaction 是否在使用中发生异常时自动回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com