0
我有一個問題,當我鎖定一個對象反序列化。NHibernate的 - 鎖反序列化的對象
例如爲:
var session = sessionFactory.OpenSession();
var item = session.QueryOver<T>().Where(x => x.Id = "1").FutureValue().Value;
var serializedObject = Serializer.Serialize(item);
//do something with the serialized object
//...
var deserializedObject = Deserializer.Deserialze(serializedObject);
//lock record
session.Lock(deserializedObject, lockMode);
錯誤:
a different with the same identifier value was already associated with the session...
但在的SessionID從打開的會話的錯誤IST相同的SessionID。
如果我鎖定原來的「項目」,那麼它的作品。
現在是我的問題我該如何與序列化/反序列化交互?
預先感謝UND最誠摯的問候
NHibernate跟蹤你的T的一個實例...你試圖使用T的另一個實例('Deserialize'返回的那個實例)。你必須'session.Merge'反序列化的對象(並注意'session.Merge'返回另一個對象!附加到'session'的對象)。 – xanatos
你好xanatos,請你解釋一下。現在我嘗試session.Merge(deserializedObject);但錯誤是一樣的:( –
'deserializedObject = session.Merge(deserializedObject)' – xanatos