关于事务的使用方法 返回
SqlSugar
沟通中
5
368
1850的旧巷 发布于1个月前
悬赏:0 飞吻
try
{
db.Ado.BeginTran();
db.Insertable(
new
Order() { .....}).ExecuteCommand();
db.Insertable(
new
Order() { .....}).ExecuteCommand();
db.Ado.CommitTran();
}
catch
(Exception ex)
{
db.Ado.RollbackTran();
throw
ex;
}
参考5.0的事务使用文档,我的第一个插入成功了,第二插入(红色字体)出现异常,这时候直接进入了catch,还没有对事务进行提交,这时候catch中的回滚是不是就无效了
热忱回答(5)
-
Falcon VIP01个月前
怎么会无效呢?第一个insert应该也会回滚啊。
0 回复 -
1850的旧巷 VIP01个月前
@Falcon:
为什么我的代码,在第一个断点处更新成功后,catch中回滚失败了,回滚之后还是更新之后的值
0 回复 -
Falcon VIP01个月前
@1850的旧巷:个人建议要同步代码都用同步,要不都用异步,混着用容易出事
0 回复 -
fate sta VIP01个月前
用插入测试,更新可能条件没有命中,插入是没有其他逻辑的。
0 回复 -
1850的旧巷 VIP01个月前
已找到原因,要确保事务中contextId始终一致
0 回复