流利的Nhibernate - 一对多映射 - 与Parent相同类型的子

时间:2011-07-12 10:30:37

标签: fluent-nhibernate

我有一个定义为:

的类
public class ReportClient
{
    public virtual int? Id { get; set; }

    public virtual long? ClientId { get; set; }

    public virtual string Name { get; set; }

    public virtual string EmailAddress { get; set; }

    public virtual string AdditionalEmailAddress { get; set; }

    public virtual List<ReportClient> ChildClients { get; set; }
}

正如您所见,ChildClients的类型与Parent相同。

请指导我如何映射'ChildClients',以便为List<ReportClient> ChildClients中的每个ChildClient创建一个新表记录,并为此记录设置一个'ParentId'列(具有ParentId = Id)

请指导。

谢谢!

1 个答案:

答案 0 :(得分:2)

我没有要测试的环境,但这应该可行,如果没有,请尝试交换列名。

  HasManyToMany(x => x.ChildClients)
    .ParentKeyColumn("ParentId")
    .ChildKeyColumn("Id")