2010-09-17 23 views
1

我正在開發客戶註冊工作流程。
正如預期的那樣,收集信息有多個步驟。 我需要存儲每個步驟的結果,直到工作流程完成。 工作流完成後,所有內容都寫入數據庫。 如果用戶中途離開工作流程,他們將不得不從第1步開始。在頁面之間傳遞nhibernate實體的策略

我有一個基於nHibernate的域模型。 我將使用域模型和nHibernate將客戶信息保存到數據庫。

我想知道什麼是最好的方法在這裏,我願意提出建議。

使用域模型來收集,並通過全過程

如從每個頁面提交信息存儲信息,一個域實體將被創建並存儲(不能存儲在DB)。在流程結束時,實體將全部承諾。

  • 實體是如何存儲的?
  • 在會話狀態?
  • 在nHibernate會話?如果是這樣,nHibernate會話如何在頁面請求之間保持持續?
  • 我是否在第一步創建事務,然後在最後一步提交?
  • 我是否需要從nHibernate會話中分離實體,將它們保持爲會話狀態,然後在最後一步將其讀入nHibernate會話?

回答

3

使用NHibernate.Burrow,或收集DTO中的信息,然後在上一步中將所有信息轉儲到真實實體。