我有一個使用JSON存儲在數據庫中的Dictionary<string, string>
屬性的模型。我正在使用自定義的NHibernate類型將字典映射到JSON編碼的字符串中,並且可以正常工作。NHibernate更改跟蹤不會獲取對自定義類型的更改(IUserType)
我的問題是,當我刷新會話時,只有屬性發生了改變,就是這個字典,那麼實體不會更新。如果任何其他屬性也發生了變化,則實體(包括JSON字符串)會更新。
換句話說,NHibernate使用我的自定義類型正確地將字典映射到JSON,但是這個自定義屬性並不用於確定實體是否已經改變。
對此提出建議?
您是否在DeepCopy方法中做了任何有趣的事情? (我*認爲*這是用於更改跟蹤,但不確定)。你能發佈你的UserType和主對象的映射嗎? – AlexCuse 2010-05-20 16:48:21
不,沒有什麼有趣的DeepCopy,但感謝您的答覆。原來,這是我的Equals()實現和一些應用程序邏輯的結合。 – 2010-05-21 14:24:18