como obter tabela por classe concreta quando a classe base é abstrata em nhibernate fluente?
tenho o seguinte cenário
public abstract class BaseClass
{
public virtual int Id {get; set};
public virtual string Name {get; set;}
}
public class FirstSubClass : BaseClass
{
//properties and behaviour here
}
public class SecondSubClass : BaseClass
{
//properties of SecondSubclass Here
}
public class ProcessStep
{
public virtual IList<BaseClass> ContentElements {get; set;}
}
ara o mapeamento, usei o seguinte trecho de código: -
this._sessionFactory =
Fluently.Configure().Database(SQLiteConfiguration.Standard
.ConnectionString(@"Data Source=SqliteTestSqlDataAccess.s3db; Version=3; New=True; Pooling=True; Max Pool Size=1;"))
.Mappings(m => m.AutoMappings.Add(AutoMap.Assembly(assemblyWithDomainClasses).Conventions.Add(DefaultCascade.All())))
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
Por padrão, fluente ignorará a classe base abstrata que é BaseClass. Mas como na classeEtapa do process existe a propriedade ContentElements que retorna IList, estou recebendo uma exceção: - NHibernate.MappingException: Association referencia a classe não mapeada: BaseClass
Se eu incluir a classe base usando o IncludeBase (typeof (BaseClass)), funcionará bem, mas criará uma tabela para as classes BaseClass e Derived e os registros serão vinculados ao relacionamento FK-PK tabela por subclasse). O que eu quero alcançar é tabela por classe de concreto. cada classe derivada terá sua própria tabela, onde haverá todas as propriedades da classe derivada + propriedades na classe base. Alguma idéia de como consegui-lo?