NHibernate标识字段

use*_*312 6 sql-server nhibernate

NHibernate入门

如何使用Hilo算法在nHibernate中生成标识字段?

Mar*_*ers 7

使用class ="hilo":

<generator class="hilo">
Run Code Online (Sandbox Code Playgroud)

例:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="NHibernate__MyClass" assembly="NHibernate__MyClass">
  <class name="MyClass" table="MyClass">
    <id name="Id" type="int" column="ID">
      <generator class="hilo">
    </id>
    <property name="Name">
      <column name="Name" not-null="true" />
    </property>
    <property name="Value">
      <column name="Value" not-null="true" />
    </property>
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

我简化了:

<id name="Id">
  <column name="ID" sql-type="int" not-null="true"/>
  <generator class="hilo" />
</id>
Run Code Online (Sandbox Code Playgroud)

至:

<id name="Id" type="int" column="ID">
    <generator class="hilo">
</id>
Run Code Online (Sandbox Code Playgroud)

您可能会遇到某种混淆NHibernate的语法错误.
如果您可以提供有关在失败之前执行的代码或您认为重要的任何其他内容的更多详细信息,那么可以加快解决问题的速度.