i have the following scenario

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


for mapping i have used following code snippet :-

    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();

By default fluent will ignore the abstract base class that is
BaseClass.
But as in the class **ProcessStep** there is property ContentElements
which returns **IList<BaseClass>** , i am getting an exception:-
 NHibernate.MappingException : Association references unmapped class:
BaseClass

If i include the base class using the IncludeBase(typeof(BaseClass))
then it works fine but it creates a table for BaseClass and Derived
classes and the records are linked with FK-PK relationship(**table per
subclass**).
What i want to achieve is **table per concrete class**. that is each
derive class will have it's own table where there will all properties
of derived class + properties in the base class.
Any idea how to achieve it?

-- 
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fluent-nhibernate?hl=en.

Reply via email to