Fluent NHibernate:每个类的表-继承,如何定义其他FK名称

本文关键字:何定义 定义 名称 FK 其他 继承 NHibernate Fluent | 更新日期: 2023-09-27 18:20:59

这里有父类和子类的映射:

public class Parent
{
    public virtual int ParentId { get; set; }
    public virtual string ParentName{ get; set; }
}
public class Child : Parent
{
    public virtual string ChildName{ get; set; }
}

映射:

public class ParentMap: ClassMap<Parent>
{
    public ParentMap()
    {
        Id(x => x.ParentId ).GeneratedBy.Identity();
        Map(x => x.ParentName);
    }
}
public class ChildMap : SubclassMap<Child>
{
    public ChildMap ()
    {
        Map(x => x.ChildName);
    }
}

现在我遇到了一个问题,即Id列的名称与约定预期的名称不同。约定希望联接使用Parent_id,但我希望定义一个自定义名称。如何定义自定义名称

任何倾翻的Thx

附言:既然这个案子是个例外,我不想创建一个自己的惯例。

Fluent NHibernate:每个类的表-继承,如何定义其他FK名称

啊,想通了:

public class ChildMap : SubclassMap<Child>
{
    public ChildMap ()
    {
        KeyColumn("ParentId")
        Map(x => x.ChildName);
    }
}