2012-10-17 91 views
1

我的班級有一個可以爲空的guid屬性這不是標識符。 guid用於以特定方式對記錄進行分組,以便許多記錄可以具有相同的guid。 每次我更新一些其他屬性時,nhibernate更新了guid,這不是所需的結果。爲什麼Nhibernate更新我的GUID?

這裏的映射:

<class name="MyClass" table="SomeTable"> 
    <id name="Id" column="SomeTableId" type="Int32" > 
     <generator class="native"> 
     <param name="sequence">SomeTableSequence</param> 
     </generator> 
    </id> 
    <property name="Instant" column="Instant" /> 
    <property name="Value" column="Value" /> 
    <property name="Description" column="Description" /> 
    <property name="Group" column="GroupId" /> <!-- this is the GUID --> 
    </class> 

我應該怎麼做,以制止這種行爲?

更新

我忘了提,我只是做一個ISession.Update電話:

public void Update(MyClass myInstance) { 
    _session.Update(myInstance); 
    _session.Flush(); 
} 
+0

只是爲了確認,你是否檢查了由NHibernate生成的SQL?也許數據庫正在更新列本身? (只是想知道) –

+0

是的,我做到了。 Nhibernate正在向該專欄發送另一個值。 – Fernando

+1

什麼是屬性類型和什麼是列類型?例如,如果存在某些格式差異,則可能會出現這些問題。 –

回答

1

因爲我沒有多少時間可用,最後我做了更新「用手」。如果有的話,我會很樂意接受另一個答案。