在页面之间传递nhibernate实体的策略

时间:2010-09-17 00:28:43

标签: asp.net-mvc nhibernate

我正在开展客户注册工作流程 正如所料,收集信息有多个步骤。 我需要存储每个步骤的结果,直到工作流程完成。 工作流完成后,所有内容都将写入数据库。 如果用户在中途离开工作流程,则必须从第1步开始。

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

我想知道最好的方法是什么,我愿意接受建议。

使用域模型通过整个过程收集和存储信息

当提交来自每个页面的信息时,将创建并存储域实体(它不能存储在DB中)。在流程结束时,所有实体都将被提交。

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

1 个答案:

答案 0 :(得分:3)

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