NHibernate-标识列

NHibernate-标识列,nhibernate,nhibernate-mapping,auto-increment,Nhibernate,Nhibernate Mapping,Auto Increment,我已经公布了NHibernate的休闲地图: <class name="Sales" table="Sales" lazy="false" > <id name="Id" column="Id" type="Guid"> <generator class="assigned"/> </id> <version name="ObjectVersion" column="O

我已经公布了NHibernate的休闲地图:

<class name="Sales" table="Sales" lazy="false"  >
    <id name="Id" column="Id" type="Guid">      
                    <generator class="assigned"/>
    </id>
  <version name="ObjectVersion" column="ObjectVersion"/>
    <property name="Number" column="Subject" type="String" length="255"  />
    <property name="Text" column="Body" type="String" length="50" not-null="true"  />
</class>

现在,我应该添加一个名为Key的附加列,该列被定义为自动增量列。有人能告诉我如何声明这个专栏吗?此列不必是主键-我只需要一个额外的列,该列包含一个整数,该整数对每条记录计数

谢谢你的帮助


向您问好,Thomas您正在使用SQL Server吗?如果是,则只需创建一个标识列
altertable Sales ADD Key INTEGER Identity(1,1)
,然后将其映射为普通属性。它不是主键,但会自动递增。

如果当前GUID ID有效,为什么还需要数字ID?我想另一个问题是,为什么不使用数字ID作为PK(如果需要),并将GUID作为备用键?我的系统只有GUID作为PK。在这个表中,我需要一个整数ID。这个ID应该是唯一的并且自动递增。使用此ID,用户正在工作-实际上它是某种“人类可读的ID”。这是一个非常好的建议。这可能也可以通过数据库对象映射来完成,以保持“nhibernate世界”中的所有内容。参考可在此处找到: