¿cómo lograr una tabla por clase concreta cuando la clase base es abstracta en nhibernate fluido?

Tengo el siguiente escenari

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;}  
}

para el mapeo, he usado el siguiente fragmento 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 fluidez predeterminada ignorará la clase base abstracta que es BaseClass. Pero como en la clasePaso de proces hay propiedad ContentElements que devuelve IList, obtengo una excepción: - NHibernate.MappingException: la asociación hace referencia a la clase no asignada: BaseClass

Si incluyo la clase base usando elBaseBase (typeof (BaseClass)) entonces funciona bien pero crea una tabla para las clases BaseClass y Derivadas y los registros están vinculados con la relación FK-PK table por subclase). Lo que quiero lograr estable por clase de hormigón. es decir, cada clase derivada tendrá su propia tabla donde habrá todas las propiedades de la clase derivada + propiedades en la clase base. ¿Alguna idea de cómo lograrlo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta