gpt4 book ai didi

c# - 什么时候在 NHibernate 中生成 ID

转载 作者:行者123 更新时间:2023-11-30 21:08:36 25 4
gpt4 key购买 nike

我想知道的是 NHibernate 何时为 Id 字段分配/生成一个值。将实体保存到存储库后?我需要使用产品 Id 来构建复合文件名。但是,当我在将实体保存到存储库之前使用 Id 时,我得到了 Guid.Empty

谢谢!

最佳答案

我想知道为什么您需要在保存之前使用 Id?当然,在成功提交到数据库后使用 Id 是正确的方法。毕竟,如果您使用 Id 然后发现数据库没有保留该实体,那么这会给您带来不必要的副作用。

然而,有一个变通办法,但不是很好。

id 生成器设置为已分配。这有一些注意事项,您不能使用 SaveOrUpdate,因为 NHibernate 将无法检测到这是一个新实体或需要更新的实体。这意味着您应该显式地使用 SaveUpdate 方法

关于c# - 什么时候在 NHibernate 中生成 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9579145/

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