业务需求:主表:采购表 主键Id为自增Int.
子表:采购明细 药品编码+ 主表自增Id 双主键。
业务逻辑:添加主表数据后返回Id,主表Id关联子表Id。
由于返回自增ID需要保存到数据库表才可以返回,“ 写法1 ”是错误的

由于ef core 自带事务处理 saveChanes()才是保存并提交事务。
我们开始方法2直接保存

却因为提前保存无法保持多表插入的原则。(主表已经保存了,子表报错却回滚了导致没有数据)

我们的需求是:主表和子表同时保存,报错同时回滚。我们可以用双重事务,在外再套一个事务管理。
我们开始方法3 在外再套一个事务管理

网友评论