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,这样拿程序来生成就好了

  • 相关阅读:
    App Store 审核指南
    Redis持久化
    PHP扩展高性能日志系统SeasLog简单上手
    Linux下Redis的安装配置
    Windows下Redis的安装
    安装wamp环境 最新完整版
    Git安装配置(完整版)
    Linux下SVN配置
    配置最新版LAMP环境
    Linux下ftp的安装配置
  • 原文地址:https://www.cnblogs.com/tdws/p/4093770.html
Copyright © 2011-2022 走看看