2011-03-06 53 views
11

在我的nhibenate會話中,我使用AutoMapper映射對象,並在afterMap操作中創建對象的新實例,因爲我從屬性比較的數據庫中提取對象。 因此,AutoMapper使用相同的ID創建一個對象的兩個實例。 當我嘗試提交會話時,出現錯誤,必須使用相同的ID進行響應。從NHibernate會話斷開對象

所以我想斷開屬性比較後提取的對象。 之後,我可以提交會話

我該怎麼做?

謝謝!

回答

13

您可以使用session.Evict(persistentObject)從會話中清除持久對象。這將從第一級緩存中刪除對象,從而允許您刷新會話。

+0

是否有可能從所有會話中刪除它? – Joel 2014-04-11 11:34:50

+0

除非你真的做得非常時髦,否則你的物體最多隻能連接一次:水合物的那一次 – mookid8000 2014-04-11 12:33:30

+0

我真的很希望那是真的。我有一些遺留代碼,做的更好玩,所以我遇到了這個異常,我希望會有一些駭人的解決方法,但是哦... – Joel 2014-04-11 13:23:21

相關問題