我们有一个映射在Fluent NHibernate中的表,其中一个由Hilo序列生成。
this.Id(x => x.Id).GeneratedBy.SeqHiLo("seq_hp", "1000");
我们现在需要在Id上指定一个Default值(设置为下一个序列值),以使其与SQL Merge语句一起使用。
但是,NHibernate只会在生成表之后生成序列,因此下一个语句将失败,因为还没有(还)序列。
this.Id(x => x.Id).GeneratedBy.SeqHiLo("seq_hp", "1000")
.Default("next value for seq_hp");
NHibernate中是否有任何方法在创建表之前指定序列的创建? 我们正在使用Fluent映射,但欢迎NHibernate的代码或XML映射解决方案。
答案 0 :(得分:1)
另一种方式也是可行的。实现IAuxiliaryDatabaseObject
以使用Sql为列添加Default。基类AbstractAuxiliaryDatabaseObject
确实提供了默认实现。