NHibernate一对多关系,没有双向关联

时间:2009-12-09 02:24:09

标签: nhibernate

我的理解是否正确,NHibernate中无法使用以下类和表设计:

public class Parent
{
   public virtual Guid Id { get; set; }
   public virtual ISet<Child> Children { get; set; }
   ...
}

public class Child
{
   public virtual Guid Id { get; set; }
   ...
}

table Parent { Id, ... }
table Child { Id, ParentId (not null), ... }

请注意以下事项:

  • 父母与子女之间的一对多关联
  • 使用ISet
  • 没有从Child回到Parent的双向关联
  • Child的ParentId列不为空

2 个答案:

答案 0 :(得分:1)

我的膝跳反应是说它得到了支持,但我认为你是对的。您的选项是 - 子表中的双向关系或可空的ParentId列。

这是一个有趣的线程,Ayende在NH跟踪器中进入NH http://nhjira.koah.net/browse/NH-1050 (这是之前发布的NH,但我认为答案是相同的)

更新5/7/11

看起来像Nhibernate JIRA(即没有域名)会发生奇怪的事情。该链接目前可以在https://nhibernate.jira.com/browse/NH-1050找到。然而,随着NHibernate 3的出现,我还没有检查过这个问题是否还是个问题。

答案 1 :(得分:0)

您描述的情况非常受NHibernate的支持和支持。