我正在构建一个具有继承的应用程序
class A
class B : A
class C : A
class D : A
...
然后
public class ClassA_Map : ClassMapping<A>
{
public ClassA_Map()
{
Table("tableA");
ID(...)
Property(...)
}
}
现在我为B类(C,D,...)改变表格(mysql):
public class ClassB_Map : SubclassMapping<B>
{
public ClassB_Map()
{
Table("tableB");
}
}
但是SubclassMapping没有方法表...如何为B类更改tableName(C,D,...)
如果将ClassB_Map构造函数设置为空,则sql具有“... FROM tableA”
答案 0 :(得分:0)
正如此处Fluent mapping - Subclasses所述,你应该像这样(参见SubclassMap
基础):
public class ClassA_Map : ClassMap<A>
{
public ClassA_Map()
{
Table("tableA");
ID(...)
Property(...)
public class ClassB_Map : SubclassMap<B>
{
public ClassB_Map()
{
Table("tableB");
同时检查Fluent NHibernate - how to create table-per-subclass mapping using a discriminator?