gpt4 book ai didi

c# - 如何获取数据库序列生成的新对象 ID?

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:51 25 4
gpt4 key购买 nike

我有一个带有序列和触发器的表,因此在将它插入到数据库时会创建新的 ID。

如何在调用 SaveChanges() 之前获取新的对象 ID?

我需要这个 id 作为新对象和其他对象之间的链接。

我想在调用 SaveChanges 之前执行此操作,因为我希望可以选择回滚。

最佳答案

如果不调用 SaveChanges() 就无法获取它。想想看。 ID 来自数据库。 SaveChanges() 是引起与数据库通信的第一件事。

如果你想撤销,你有几种选择:

  • 在很多情况下,您不需要在插入时知道客户端的 ID。只需建立关系就足够了。
  • 使用客户端可生成的 ID,例如 GUID。
  • 使用 TransactionScope 进行“真正的”数据库事务。
  • 执行撤消 (DeleteObject) 而不是回滚。

关于c# - 如何获取数据库序列生成的新对象 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3289934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com