nhibernate hilo Id生成器生成奇怪的Id号

时间:2012-01-11 00:26:18

标签: nhibernate nhibernate-mapping hilo

我按惯例使用nhibernate 3.2映射。

这是我的代码。在我的hilo表中,NextHi是1.我删除User表中的所有记录,然后在那里插入一个新用户。取而代之的是一个非常小的数字,如10或11,我插入的第一个用户有Id 32768.我不知道我是如何得到这个数字的。请让我知道我应该检查什么?

            mapper.BeforeMapClass += (modelInspector, type, classCustomizer) =>
                {
                    classCustomizer.Id(c => c.Column("Id"));
                    classCustomizer.Id(c => c.Generator(Generators.HighLow,
                        gmap => gmap.Params(
                            new{
                                max_low = 10, 
                                table = "Hilo", 
                                column = "NextHi", 
                                where = string.Format("TableKey = '{0}'", type.Name.ToLower())
                            })));

                };

1 个答案:

答案 0 :(得分:3)

参数应命名为max_lo,而不是max_low。它可能在Fabio Maulo和生产3.2版本的初始(仅限现在)描述之间发生了变化。