业务需求:主表:采购表 主键Id为自增Int.
子表:采购明细 药品编码+ 主表自增Id 双主键。
业务逻辑:添加主表数据后返回Id,主表Id关联子表Id。
由于返回自增ID需要保存到数据库表才可以返回,“ 写法1 ”是错误的
方法1由于ef core 自带事务处理 saveChanes()才是保存并提交事务。
我们开始方法2直接保存
方法二成功取到Id却因为提前保存无法保持多表插入的原则。(主表已经保存了,子表报错却回滚了导致没有数据)
方法二不完善我们的需求是:主表和子表同时保存,报错同时回滚。我们可以用双重事务,在外再套一个事务管理。
网友评论