所有 NHibernate HiLo 生成器参数是什么?

8
我看到Fabio Maulo的一些文档,显示以下参数:
<id name="Id" type="Int64" column="cat_id">
    <generator class="hilo">
            <param name="table">hi_value</param>
            <param name="column">next_value</param>
            <param name="max_lo">100</param>
    </generator>
</id>

然而,在这个问题上,发布者使用了<param name="schema">...我希望能够为HiLo生成器指定模式。

是否有所有生成器参数的权威文档? 我试过谷歌搜索,但没有成功。

2个回答

2
另一个需要考虑的参数是:
<param name="where">TableName='CmsLogin'</param>

这使你能够针对每个实体拥有不同的计数器,而不是所有实体共用一个计数器。
然而,我没有看到可以将模式指定为参数的方法,因此我认为您需要在数据库中为每个唯一的模式创建一个单独的HiLo键表。

谢谢Rippo,我最初使用了那个选项,后来意识到我可以为每个表格使用不同的列。 - Mike Scott
@MikeScott 有没有可能你可以发一个例子? - Ufuk Hacıoğulları
@Ufuk,你的意思是使用不同的列在每个使用hilo生成器的表中的示例吗?如果是这样,我认为最好作为另一个问题,因为它并不是真正的话题。发布一个问题,我会很乐意用代码片段回答你。 - Mike Scott

1
根据消息来源,完整列表包括:"table"、"column"、"max_lo"、"schema"、"catalog"和"where",但我不确定它们是否都被使用了。这些定义在NHibernate.Id.TableGenerator和NHibernate.Id.TableHiLoGenerator类中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接