流畅的NHibernate:每个表 - 继承,如何定义其他FK名称?

时间:2012-01-19 15:23:31

标签: c# fluent-nhibernate nhibernate-mapping

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

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-Column的名称不是常规所期望的。该约定希望Parent_id用于连接,但我想定义一个自定义名称。 如何定义自定义名称?

任何tipps的thx

P.s。:由于这种情况是一个例外,我不想创建自己的约定。

1 个答案:

答案 0 :(得分:0)

啊,想通了:

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