nHibernate, Automapping and Chained Abstract Classes
        Posted  
        
            by Mr Snuffle
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Mr Snuffle
        
        
        
        Published on 2010-04-03T02:15:13Z
        Indexed on 
            2010/04/03
            2:23 UTC
        
        
        Read the original article
        Hit count: 712
        
I'm having some trouble using nHibernate, automapping and a class structure using multiple chains of abstract classes
It's something akin to this
public abstract class AbstractClassA {}
public abstract class AbstractClassB : AbstractClassA {}
public class ClassA : AbstractClassB {}
When I attempt to build these mappings, I receive the following error
"FluentNHibernate.Cfg.FluentConfigurationException was unhandled Message: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.
- Database was not configured through Database method."
 
However, if I remove the abstract keyword from AbstractClassB, everything works fine. The problem only occurs when I have more than one abstract class in the class hierarchy.
I've manually configured the automapping to include both AbstractClassA and AbstractClassB using the following binding class
public class BindItemBases : IManualBinding
{
    public void Bind(FluentNHibernate.Automapping.AutoPersistenceModel model)
    {
        model.IncludeBase<AbstractClassA>();
        model.IncludeBase<AbstractClassB>();
    }
}
I've had to do a bit of hackery to get around this, but there must be a better way to get this working. Surely nHibernate supports something like this, I just haven't figured out how to configure it right.
Cheers,
James
© Stack Overflow or respective owner