Я использую Fluent NHibernate / Automapping, и у меня есть класс, у которого есть коллекция, и у каждого элемента в этой коллекции есть собственная коллекция.
public class A
{
public virtual IList<ClassB> Items { get; set; }
}
public class B
{
public virtual IList<ClassC> ChildItems { get; set; }
}
Это относится к этому вопросу , на который так и не был дан ответ, но он был разрешен OP, оставив родительский объект на дочернем объекте и пометив его как ненулевой.
public class C
{
[NotNull]
public virtual ClassB Parent { get; set; }
// Other stuff
}
Является ли это единственным способом установить внешний ключ как ненулевой в Fluent NHibernate? Возможно, это глупый вопрос, но у меня нет причин знать, что такое родительский объект, поэтому обладание этими свойствами было бы бесполезно. Если это единственный способ, есть ли недостатки в этом? Стоило ли бы это того, чтобы мой код мог просто обрабатывать отношения?