EFCore 获取主表自增Id并多表同时插入

业务需求:主表:采购表 主键Id为自增Int.

子表:采购明细 药品编码+ 主表自增Id  双主键。

业务逻辑:添加主表数据后返回Id,主表Id关联子表Id。

由于返回自增ID需要保存到数据库表才可以返回,“ 写法1 ”是错误的


方法1

由于ef core 自带事务处理 saveChanes()才是保存并提交事务。

我们开始方法2直接保存


方法二成功取到Id

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


方法二不完善

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

我们开始方法3  在外再套一个事务管理

方法三,成功
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,990评论 0 9
  • 1. 了解SQL 1.1 数据库基础 ​ 学习到目前这个阶段,我们就需要以某种方式与数据库打交道。在深入学习MyS...
    锋享前端阅读 1,328评论 0 1
  • 数据库的基本是概念名词解释: 数据库名词解释 元组:可以理解为表的每一行就是一个元组 候选码:若关系中的某一属性组...
    杰伦哎呦哎呦阅读 1,239评论 0 6
  • 手动不易,转发请注明出处 --Trance 数据库系统命令: (1).查看存储过程状态:show pro...
    Trance_b54c阅读 1,831评论 0 8
  • 夜仿佛突然拥抱了这个世界 只有路灯固执的拒绝 它努力发出微不足道的光 试图去拉另一个路灯的手 如果我能流足够多的泪...
    六洱阅读 253评论 0 8

友情链接更多精彩内容