gpt4 book ai didi

nhibernate - 如何在 NHibernate 中使用序列作为 ID 的默认值?

转载 作者:行者123 更新时间:2023-12-03 16:57:13 24 4
gpt4 key购买 nike

我们有一个在 Fluent NHibernate 中映射的表,其 Id 由 Hilo 序列生成。

this.Id(x => x.Id).GeneratedBy.SeqHiLo("seq_hp", "1000");

我们现在需要在 Id 上指定默认值(设置为下一个序列值)以使其与 SQL Merge 语句一起使用。

但是,NHibernate 只有在生成表后才会生成序列,因此下一条语句将失败,因为(还)没有序列。

this.Id(x => x.Id).GeneratedBy.SeqHiLo("seq_hp", "1000")
.Default("next value for seq_hp");

在NHibernate中有没有办法在创建表之前指定创建序列?我们正在使用 Fluent 映射,但欢迎使用 NHibernate 的代码或 XML 映射解决方案。

最佳答案

反之亦然。实现 IAuxiliaryDatabaseObject 以使用 Sql 添加列的默认值。基类 AbstractAuxiliaryDatabaseObject 确实提供了默认实现。

关于nhibernate - 如何在 NHibernate 中使用序列作为 ID 的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16526450/

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