C# – Fluent Nhibernate and pluggable inheritance

cfluentinheritancenhibernate

Is there any way to define/expand inheritance without changing base table mapping with Fluent NHibernate? For example with Castle.ActiveRecord (based on NHibernate) you can define inheritance like this:

[ActiveRecord("entity"), JoinedBase]
public class Entity : ActiveRecordBase
{ 
    [PrimaryKey]
    public int Id { get; set; }
}

[ActiveRecord("entitycompany")]
public class CompanyEntity : Entity
{
    [JoinedKey("comp_id")]
    public int CompId { get; set; }
}
  • It's possible to add or remove new subclasses without changing base entity mappings.
  • When we call Entity.FindAll() it returns all entities (also those inherited).

Best Answer

Not right now, no. Certainly not in any way that will require no modifications to your parent class map.

Related Topic