NHibernate 3.3:生成了密钥属性的复合id?

NHibernate 3.3:生成了密钥属性的复合id?,nhibernate,composite-id,Nhibernate,Composite Id,我已经了解到,NHibernate 3.3中不可能进行这种映射: <class name="Digital" table="DIGITALS"> <composite-id> <key-many-to-one name="Person" class="Person" column="PERSONID" /> <key-property name="Id" column="ID"> **<gene

我已经了解到,NHibernate 3.3中不可能进行这种映射:

<class name="Digital" table="DIGITALS">
    <composite-id>
      <key-many-to-one name="Person" class="Person" column="PERSONID" />
      <key-property name="Id" column="ID">
        **<generator class="increment"/>**
      <key-property/>
    </composite-id>
    <property name="Nombre" column="NOMBRE" />

****
基本上,我需要一个复合id的属性由NH自动计算

也许存在一种获得类似结果的技术


提前感谢。

您必须自己实现它,因为CompositeID总是由NH分配生成的

class Digital
{
    private static long number = 0;

    private static long NextNumber()
    {
        return Interlocked.Increment(ref number);
    }

    public Digital()
    {
        Id = NextNumber();
    }
}

好的,基本上我必须自己计算下一个Id,可能在函数addDigital()的实体Person中。非常感谢@Firo。