0

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

4

1 回答 1

0

假设您使用流畅的映射而不是自动映射,您可以在映射文件中使用它:

HasMany(x => x.ChildItems).Not.Null();
于 2009-12-19T10:37:41.627 回答