2011-01-09 37 views
0

我有一个类雇主包含用户组的集合,但它还有另外一个用户组称为管理员功能NHibernate HasOne +的hasMany具有相同的子类

的想法是,雇主总是拥有一个拥有所有权限的管理员组,但他们可以根据他们认为合适的方式创建任意组。

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(); 

的问题是,当用于雇主进行查询时,它总是返回为基团,例如多于一个的排管理员+经理等...

是否有可能在一个类上面使用相同的类型为两个目的? 还有什么其他的选择,我必须表达这一点?

干杯...

回答

2

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

+0

这里给出了一个普通XML映射文件中实体名称用法的示例:http://www.fabiomaulo.blogspot.com/。连贯的NHibernate支持从1.1版本开始的实体名称。 – 2011-01-10 18:56:18

相关问题