【问题标题】:How to do deep copy of NHibernate Objects?如何做 NHibernate 对象的深拷贝?
【发布时间】:2010-07-12 17:41:14
【问题描述】:

我正在尝试对 NHibernate 对象(代理包装器)进行深层复制。除了父对象的每个内部对象的Id 之外,我还想做一个延迟加载的东西的副本,因为它应该在我保存作为深度复制结果的新对象时生成。

我尝试过使用序列化,也尝试过使用 AutoMapper(我知道,它不是为了这个,只是试了一下)。两者都没有达到我想要的效果。

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

我找到了这个question,但考虑到我不愿意手动复制,它并没有解决我想要的问题。

【问题讨论】:

    标签: c# nhibernate object deep-copy


    【解决方案1】:

    随着我们继续克隆类,我们必须完成更多自定义。

    因此,在我们的案例中,手动克隆是可行的方法(尽管我希望有更好的解决方案)。

    【讨论】:

      【解决方案2】:

      我们使用Copyable 来克隆对象(深度克隆)。 Here 你可以找到一篇描述 Copyable 的文章。它提供了允许克隆对象图的扩展方法(用于“对象”),并且通常对我们非常有效。 HTH。

      【讨论】:

        猜你喜欢
        • 2015-09-14
        • 1970-01-01
        • 1970-01-01
        • 2012-06-19
        • 2019-11-17
        • 1970-01-01
        • 1970-01-01
        • 2011-04-26
        • 1970-01-01
        相关资源
        最近更新 更多