我目前正在工作中启动一个新的 ASP.NET MVC 项目,我们需要生成项目成本估算。
我们使用 NHibernate、ASP.NET MVC 1.0 和 StructureMap。
客户希望能够填写有关项目的所有信息,这些信息位于不同的页面中,我们需要在每次回发之间坚持下去。
客户端不希望在完成后选择以某个名称保存它,但我们希望即使他尚未保存它,也将其保留在数据库中。因此,我们有创建“草稿模式”的想法,这样用户将开始处理他的项目,填充所有页面,并且在“草稿模式”打开的情况下将其保存在数据库中。
但是我们需要管理草稿,我的意思是,当用户开始编辑现有项目时,我们需要创建它的副本,将对象及其所有子对象设置为草稿模式,并在我们的数据库中创建它的副本。我们需要更改孩子们的所有参考资料。
因此,我试图找到深度复制对象并更改所有引用的最佳方法,
我宁愿不必为我必须复制的每个实体创建一个复制类,如果可能的话,也许是更通用的东西。
如果您需要更多详细信息或有任何不清楚的地方,请告诉我。
Thanks,
Charles
我会尝试让我的域解决这个问题,并让 NHibernate 只保存数据而不是复制它。我将创建一个定义 DeepCopy() 方法的 IDeepCopy 接口。然后,在每个方法中,您将创建一个新对象,然后自己复制值并控制如何正确处理子对象或父对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)