Я хочу сопоставить свою объектную модель с NHibernate. В моей концепции есть одна сложная часть, и я не знаю, возможно ли это сделать в NHibernate.
Я хочу иметь коллекцию деревьев. У меня есть два класса (ниже указаны только важные свойства). Компонент — это узел дерева, а 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; }
}
Теперь я хочу, чтобы каждый компонент знал, к какой группе компонентов он принадлежит, поэтому мне нужна ссылка от каждого компонента к группе компонентов (свойство группы). Но ComponentGroup должен иметь только коллекцию корневых узлов (прямых дочерних элементов) — коллекцию Components. Так что это что-то вроде отображения один к половине ;) "одна" сторона имеет ссылку только на некоторые элементы со стороны "многие".
У вас есть идеи, как сопоставить что-то подобное с помощью NHibernate?