我正在使用 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 中将外键设置为非空的唯一方法吗?可能是一个愚蠢的问题,但我没有理由知道父对象是什么,所以拥有这些属性是没有用的。如果这是唯一的方法,这样做有什么缺点吗?如果我的代码可以只处理关系,那是否值得?