【问题标题】:NHibernate bidirectional collection / key synchronizationNHibernate 双向收集/密钥同步
【发布时间】:2009-01-13 09:06:00
【问题描述】:

我在 NHibernate 中建立了一对多关联:

Parent (1 -> ∞) Child

我现在面临的问题是,当我设置 Child.Parent 时,Parent.Children 集合不会自动包含新的 Child。同样,当我将 Child 添加到 Parent.Children 集合时, Child.Parent 属性仍然为空。我可以在属性设置器中编写一些代码来实现这一点,但是这种事情有标准的方法吗?

谢谢

【问题讨论】:

    标签: .net nhibernate


    【解决方案1】:

    你真的想要这种行为吗?真的有必要吗?

    我总是使用内部设置器将我的“父”引用设为只读,而且我也不将父的子集合作为常规集合公开。 My Parent 有一个 AddChild 方法,该方法将孩子添加到集合中,并设置孩子的 Parent 属性。 接下来,我的 Parent 可以返回“Child”类型的 ReadOnlyCollection。

    【讨论】:

      【解决方案2】:

      当您设置 Child.Parent 时,您还必须将 Child 添加到 Parent.Children,NHibernate(.net 就此而言)无法知道您设置了 parent。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-24
        • 1970-01-01
        • 2010-12-08
        • 2022-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多