2012-04-27 44 views
4

我已閱讀,這種映射不是在NHibernate的3.3可能:NHibernate的3.3:複合ID與生成的鍵屬性?

<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自動計算。

也許存在一種技術來得到類似的東西?

在此先感謝。

回答

3

你不得不自己實現它,因爲CompositeIds總是generatedby分配給NH

class Digital 
{ 
    private static long number = 0; 

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

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

好了,基本上我有我自己的計算下一個ID,說不定裏面功能addDigital(的)實體的人。非常感謝@Firo。 – vladiastudillo 2012-05-04 19:11:22