zoukankan      html  css  js  c++  java
  • Java Hibernate和.Net EntityFramework 如何在提交事务之前 就拿到需要新增实体的Id

    在Hibernate中很容易做到这一点,因为hibernate在事务commit之前  还有一个save方法,这个save方法就可以持久化并且拿到Id。

    但是EF并不可以呀,EF是将对象标记为新增状态,等到最后上下文统一SaveChange的时候,才能提交事务拿到Id。 

    哎,初涉不深,我觉得应该是这个情况没错。不知道EF到底能不能像Hibernate那样,在事务commit之前就拿到。

    所以我就想到使用两个EF上下文来做,但是两个上下文 有没有办法同时回滚,所以为了解决两个事务都能回滚的问题,

    想到了一个办法,EF分布式事务应该可以。 

    感觉还是有点问题,事务之间有隔离性呀。

    需要进一步确认和整理,先做个笔记。

    操作后,整理结果:

    弄晕了,想了一下这样的做法是错的,也不需要知道什么id,可能hibernate和EF设计的思想本来就不同,在EF中能不能拿得到ID其实也是无所谓的,可以把对象关系交给EF来处理 主外键,完全不需要获取Id。如果真是有什么特殊需要的话,主键可以换GUID,这样拿程序来生成就好了

  • 相关阅读:
    01-发送你的第一个请求
    postman使用
    java poi导出多sheet页
    base64加密解密
    Django crontab
    super().__init__()
    paramiko模块
    列表转json数据返回
    socket模块判断ip加端口的连通性
    登录拦截器
  • 原文地址:https://www.cnblogs.com/tdws/p/4093770.html
Copyright © 2011-2022 走看看