小编Dam*_*n B的帖子

具有多个相同类型的多对多列表的Nhibernate实体?

有没有人知道我如何映射具有相同子类型的两个多对多集合的实体.

我的数据库结构是这个....

"正常"关系将是....

tbl_Parent
  col_Parent_ID

tbl_Parent_Child_Xref
   col_Parent_ID
   col_Child_ID

tbl_Child
   col_Child_ID
Run Code Online (Sandbox Code Playgroud)

替代关系是......

tbl_Parent
  col_Parent_ID

tbl_Include_ParentChild_Xref
   col_Parent_ID
   col_Child_ID

tbl_Child
   col_Child_ID
Run Code Online (Sandbox Code Playgroud)

实体和映射看起来像这样......

public partial class ParentEntity : AuditableDataEntity<ParentEntity>
{
  public virtual IList<ChildEntity> Children { get; set; }
  public virtual IList<ChildEntity> IncludedChildren { get; set; }
}

public partial class ParentMap : IAutoMappingOverride<ParentEntity>
{
    public void Override(AutoMapping<ParentEntity> mapping)
    {
        mapping.Table("tbl_Parent");

        mapping.HasManyToMany(x => x.Children)
        .Table("tbl_Parent_Child_Xref")
        .ParentKeyColumn("col_Parent_ID")
        .ChildKeyColumn("col_Child_ID")
        .Inverse()
        .Cascade.All();

        mapping.HasManyToMany(x => x.IncludedChildren)
        .Table("tbl_Include_ParentChild_Xref")
        .ParentKeyColumn("col_Parent_ID")
        .ChildKeyColumn("col_Child_ID")
        .Inverse()
        .Cascade.All();
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是 "System.NotSupportedException:无法弄清楚多少属性'孩子'的另一面应该是什么."

我正在使用NHibernate 2.1.2,FluentNhibernate 1.0.

nhibernate nhibernate-mapping fluent-nhibernate

7
推荐指数
1
解决办法
1115
查看次数