流利的NHibernate HasOne + HasMany具有相同的子类

时间:2011-01-09 20:53:11

标签: c# nhibernate orm fluent-nhibernate

我有一个雇主类,其中包含 UserGroup 的集合,但它还有另一个名为 Administrators UserGroup

这个想法是雇主总是有一个拥有所有权限等的管理员组。但他们可以根据自己的意愿创建任意组。

  public class Employer
  {
     public virtual UserGroup Administrators { get; set; }
     public virtual IList<UserGroup> UserGroups { get; set; }
  }

映射是:

mapping.HasOne(x => x.Administrators)
       .PropertyRef(g => g.Employer)
       .Constrained() //Lazy load
       .Cascade.All();


mapping.HasMany(x => x.UserGroups).Inverse();

问题是,当对雇主进行查询时,它总是为组返回多行,例如管理员+经理等...

是否可以在一个类上使用相同的Type作为两个目的,如上所述? 还有什么其他选择来表达这个?

干杯...

1 个答案:

答案 0 :(得分:2)

您可以使用实体名称以多种方式映射同一个类。稍后会尝试发布示例。