【发布时间】:2021-11-02 12:37:54
【问题描述】:
有谁知道如果DbUpdateException 发生,EF Core 是否会自动回滚事务?我正在使用一个使用 FOR UPDATE 子句的 Mysql 查询。我想知道当DbUpdateException 发生时我是否必须回滚事务?有人有想法吗?
【问题讨论】:
标签: .net .net-core entity-framework-core transactions
有谁知道如果DbUpdateException 发生,EF Core 是否会自动回滚事务?我正在使用一个使用 FOR UPDATE 子句的 Mysql 查询。我想知道当DbUpdateException 发生时我是否必须回滚事务?有人有想法吗?
【问题讨论】:
标签: .net .net-core entity-framework-core transactions
如果您定义了自己的事务范围,然后将其传递给数据库上下文,那么是的,据我所知,您需要自己处理它。
因此,在定义using(var transScope = new TransactionScope()) 时尝试/捕获,但如果您只有一个 dbCtx 实例,请进行一些更改并调用 Save,如果在该特定 saveChanges 调用上抛出任何内容,它将不会保留任何内容,就好像它有自己的一样transactionScope(它的作用)
【讨论】: