2010-07-12 62 views
1

我想做一个NHibernate对象(代理封装)的深层副本。除了父对象的每个内部对象的Id之外,我还想执行延迟加载的事务的副本,因为它应该在保存作为深度复制结果的新对象时生成。如何做NHibernate对象的深层副本?

我试图使用序列化,也尝试使用AutoMapper(我知道,它不是这个意思,只是试了一下)。两者都没有得到我想要的。

我正在考虑手动复制每一个属性作为最后一个选项,如果没有更好的方法来做到这一点。

我发现这个question,但它没有解决我想要的,因为我不愿手动进行复制。

任何关于如何去解决它的建议将非常感激。

感谢

回答

1

当我们继续克隆类时,我们必须完成更多的自定义。

因此,在我们的情况下,手动克隆是最好的选择(尽管我希望获得更好的解决方案)。

0

我们使用Copyable克隆对象(深克隆)。 Here你可以找到一篇描述可复制的文章。它提供了允许克隆对象图的扩展方法(用于'对象'),并且通常对我们来说工作得非常好。 HTH。