我想将我的对象模型映射到 NHibernate。我的概念中有一个棘手的部分,我不知道在 NHibernate 中是否可以做到这一点。
我想要收集树木。我有两个类(下面,只指出了重要的属性)。Component 是树的一个节点,而 ComponentGroup 是树的集合。
public class Component
{
public Component Parent { get; set; }
public IList<Component> SubComponents { get; set; }
public ComponentGroup Group { get; set; }
}
public class ComponentGroup
{
public IList<Component> Components { get; set; }
}
现在我希望每个 Component 都知道它属于哪个 ComponentGroup,所以我需要从每个 Component 引用到 ComponentGroup(Group 属性)。但是 ComponentGroup 应该只有根节点(直接子节点)的集合 - 组件集合。所以这有点像一对半映射;)“一”方仅引用“多”方的某些项目。
你有什么想法如何使用 NHibernate 映射这样的东西吗?