2012-01-19 2 views
0

Здесь у меня есть отображение для родительского и дочернего класса:Fluent NHibernate: Table Per Class - Inheritance, как определить другое имя FK?

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 для любого Tipps

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

ответ

0

Ах, понял это:

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