1

I am building an application with inheritance

class A
class B : A
class C : A
class D : A
...

Then

public class ClassA_Map : ClassMapping<A>
{
    public ClassA_Map()
    {
        Table("tableA");
        ID(...)
        Property(...) 
    }
}

Now I triing change table (mysql) for Class B (C, D, ...) :

public class ClassB_Map : SubclassMapping<B>
{
    public ClassB_Map()
    {
        Table("tableB");
    }
}

But SubclassMapping does not has method Table... How I can do change tableName for class B (C, D, ...)

If set ClassB_Map constructor empty, then sql has "... FROM tableA "

romany4
  • 77
  • 1
  • 5

1 Answers1

0

As documented here Fluent mapping - Subclasses you should have it like this (see the SubclassMap base):

public class ClassA_Map : ClassMap<A>
{
    public ClassA_Map()
    {
        Table("tableA");
        ID(...)
        Property(...) 

public class ClassB_Map : SubclassMap<B>
{
    public ClassB_Map()
    {
        Table("tableB");

Also check Fluent NHibernate - how to create table-per-subclass mapping using a discriminator?

Community
  • 1
  • 1
Radim Köhler
  • 122,561
  • 47
  • 239
  • 335