Fluent nhibernate Fluent Nhibernate-一对多映射-与父项类型相同的子项

Fluent nhibernate Fluent Nhibernate-一对多映射-与父项类型相同的子项,fluent-nhibernate,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 st

我有一个类定义为:

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; }
}
公共类ReportClient
{
公共虚拟int?Id{get;set;}
公共虚拟长客户端ID{get;set;}
公共虚拟字符串名称{get;set;}
公共虚拟字符串EmailAddress{get;set;}
公共虚拟字符串AdditionalEmailAddress{get;set;}
公共虚拟列表子客户端{get;set;}
}
正如您所看到的,ChildClients与Parent的类型相同

请指导我如何映射“ChildClients”,以便对于
列表ChildClients
中的每个ChildClient,都有一个新的表记录,其中为该记录设置了列“ParentId”(具有ParentId=Id)

请导游


谢谢大家!

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

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