配置hilo“无法获取或更新下一个值[SQL:]”

时间:2010-11-11 05:12:20

标签: nhibernate nhibernate-mapping

我想使用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>

1 个答案:

答案 0 :(得分:2)

可能无法手动或通过模式生成创建NHibernate用于从服务器获取“低”值的表。

  

基本的想法是你有两个   用于组成主键的数字 - a   “高”数字和“低”数字。一个   客户端基本上可以增加   “高”序列,知道它可以   然后安全地生成密钥   以前“高”的整个范围   价值与各种“低”   值。