0
只是一個匆匆的新/短暫性NHibernate的實體的ID生成策略......我有我的映射類之一以下ID生成策略:跳繩時的ID已經提供
<id name="UID" type="System.Guid">
<column name ="UID" sql-type ="uniqueidentifier" />
<generator class="guid.comb" />
</id>
有問題的實體涉及同步/合併行爲,因此必須擁有全局唯一標識符。
當首次在客戶端應用程序上創建實體時,它將分配UID
屬性,使其與服務器上的等效實體的值相同。
但是,上述ID生成器策略會覆蓋爲新/瞬態實體提供的任何值。
什麼是修復?我是否必須刪除生成器策略並分配自己的GUID?或者,發電機策略可配置爲僅在需要時生成guid.comb
?
好,謝謝,我會嘗試這一點,並儘快給您:) – Rabid 2010-07-19 22:11:17
不幸的是NHibernate的似乎更新它的內部實體狀態與所生成的UID,導致以下異常:實例的 標識csl.Risk.Structure.RiskClass從12ae645e-c50f-4fc5-b0ff-9db900bd9a4e更改爲42e565c7-8dd3-416f-89a2-9db801086d93;第一個guid是生成的,第二個是指定的。 Bummer :( – Rabid 2010-07-20 10:32:28
新的答案:您將不得不刪除發電機策略並分配您自己的GUID。:-) – 2010-07-20 11:04:59