我目前正在工作中启动一个新的 ASP.NET MVC 项目,我们需要生成项目成本估算。
我们正在使用 NHibernate、ASP.NET MVC 1.0 和 StructureMap。
客户希望能够填写有关项目的所有信息,这些信息位于不同的页面中,我们需要在每次回发之间坚持。
客户端不希望在完成时选择以名称保存它,但我们希望即使他还没有保存它,也希望将它持久保存在数据库中。所以我们有了创建“草稿模式”的想法,这样用户将开始处理他的项目,将填满所有页面,并在“草稿模式”开启的情况下将其持久化在数据库中。
但是我们需要管理草稿,我的意思是,当用户开始编辑现有项目时,我们需要创建它的副本,将对象及其所有子对象设置为草稿模式,并在我们的数据库中创建它的副本. 我们将需要更改子项的所有引用。
所以,我试图找到深度复制对象并更改所有引用的最佳方法,我宁愿不必为我必须复制的每个实体创建一个复制类,如果这是更通用的东西可能的。
如果您需要更多详细信息或不清楚的地方,请告诉我。
谢谢,
查尔斯