2010-09-17 50 views
1

我正在开发客户注册工作流程。
正如预期的那样,收集信息有多个步骤。 我需要存储每个步骤的结果,直到工作流程完成。 工作流完成后,所有内容都写入数据库。 如果用户中途离开工作流程,他们将不得不从第1步开始。在页面之间传递nhibernate实体的策略

我有一个基于nHibernate的域模型。 我将使用域模型和nHibernate将客户信息保存到数据库。

我想知道什么是最好的方法在这里,我愿意提出建议。

使用域模型来收集,并通过全过程

如从每个页面提交信息存储信息,一个域实体将被创建并存储(不能存储在DB)。在流程结束时,实体将全部承诺。

  • 实体是如何存储的?
  • 在会话状态?
  • 在nHibernate会话?如果是这样,nHibernate会话如何在页面请求之间保持持续?
  • 我是否在第一步创建事务,然后在最后一步提交?
  • 我是否需要从nHibernate会话中分离实体,将它们保持为会话状态,然后在最后一步将其读入nHibernate会话?

回答

3

使用NHibernate.Burrow,或收集DTO中的信息,然后在上一步中将所有信息转储到真实实体。