我正在使用Fluent NHibernate / Automapping,我有一个有集合的类,该集合中的每个项目都有自己的集合。
public class A
{
public virtual IList<ClassB> Items { get; set; }
}
public class B
{
public virtual IList<ClassC> ChildItems { get; set; }
}
这与this question有关,但从未得到解答,但由OP解决,将父对象保留在子对象上并将其标记为非空。
public class C
{
[NotNull]
public virtual ClassB Parent { get; set; }
// Other stuff
}
这是在Fluent NHibernate中将外键设置为非null的唯一方法吗?可能是一个愚蠢的问题,但我没有理由知道父对象是什么,所以拥有这些属性会有点无用。如果这是唯一的方法,这样做有什么不利之处吗?如果我的代码只能处理关系,那么它是否值得呢?
答案 0 :(得分:0)
假设您使用的是流畅的映射而不是自动化,您可以在映射文件中使用它:
HasMany(x => x.ChildItems).Not.Null();