2
目前我試圖實現代碼來處理陳舊的狀態異常(即,另一個用戶已經改變了這一行等..)很好當im提交使用nhibernate交易。這個想法是,當沖洗時發生異常時,回滾事務,通過不同的方式「修復」實體,然後重新運行整個事務代碼。NHibernate,事務回滾和實體版本
我的問題是,當事務回滾,實體版本屬性仍然被遞增,成功地更新了數據庫的實體,即使在數據庫的事務已回滾(這實際上也是如此的交易失敗的實體)。這意味着第二次運行永遠不會成功,因爲版本與數據庫不同步。
我該如何解決這個問題?
是的,似乎最好的practive是regetting的實體。然而,在這種情況下,這對我來說不是一種選擇(需要太多的我們沒有atm預算的重現)我有其他選擇嗎? – MatteS 2010-09-04 07:39:25
也許session.Refresh或session.Merge。 – 2010-09-04 11:40:16