NHibernate双向收集/密钥同步

时间:2009-01-13 09:06:01

标签: .net nhibernate

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

Parent (1 -> ∞) Child

我现在面临的问题是,当我设置Child.Parent时,Parent.Children集合不会自动包含新的Child。类似地,当我向Parent.Children集合添加Child时,Child.Parent属性仍为null。我可以在属性设置器中编写一些代码来实现这一点,但这种方法是否有标准方法?

由于

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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