我想使用hilo生成器配置NHibernate,但是以下配置会抛出一个GenericADO异常,说“无法获取或更新下一个值[SQL:]”。如果生成器类是“identity”,它将按预期工作。
请注意。在使用hilo生成器时,我在SQL Server端将“Is Identity”设置为“No”。
<class name="Model.Session, Domain" table="Session">
<id name="SessionID" column="SessionId" type="Int32">
<!--<generator class="identity" />-->
<generator class="hilo" /
</id>
<property name="SessionToken" column="SessionToken" type="String" length="80"/>
<property name="UserID" column="UserId" type="Int32"/>
</class>
答案 0 :(得分:2)
可能无法手动或通过模式生成创建NHibernate用于从服务器获取“低”值的表。
基本的想法是你有两个 用于组成主键的数字 - a “高”数字和“低”数字。一个 客户端基本上可以增加 “高”序列,知道它可以 然后安全地生成密钥 以前“高”的整个范围 价值与各种“低” 值。