Свободный NHibernate: таблица на класс - наследование, как определить другое имя FK? - PullRequest
0 голосов
/ 19 января 2012

Здесь у меня есть отображение для родительского и дочернего класса:

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 для объединения, но я бы хотел определить собственное имя. Как определить пользовательское имя?

Спасибо за любые чаевые

P.s .: Поскольку этот случай является исключением, я не хочу создавать собственное соглашение.

1 Ответ

0 голосов
/ 19 января 2012

А, разобрался:

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