我目前正在開始一個新的ASP.NET MVC項目,我們需要生成一個項目成本估算。使用NHibernate的深度複製實體
我們使用NHibernate,ASP.NET MVC 1.0和StructureMap。
客戶希望能夠填寫有關該項目的所有信息,信息位於不同的頁面,我們需要堅持在每個回帖之間。
客戶端不想在完成時將其保存在某個名稱下的選項,但我們仍希望將其保存在數據庫中,即使他還沒有保存它。因此,我們有了創建「草稿模式」的想法,因此用戶將開始處理他的項目,填充所有頁面,並將其打開並保存在數據庫中。
但是我們需要管理草稿,我的意思是,當用戶開始編輯現有項目時,我們需要創建它的副本,將對象及其所有孩子設置爲草稿模式,並創建副本它在我們的數據庫中。我們需要改變孩子們的所有參考資料。因此,我試圖找到最佳方法來深度複製對象並更改所有引用, 我寧願不必爲每個我必須複製的實體創建一個複製類,也許某種東西如果這是可能的話,更通用。
請讓我知道你是否需要更多的細節,或者如果有什麼不清楚。
感謝,
查爾斯
此,如果您有任何延遲加載的屬性/集將無法正常工作。在新實例上訪問這些屬性將導致LazyInitializationExceptions。 – rossisdead 2012-09-14 19:25:36