views:

301

answers:

2

Is there any way to define/expand inheritence 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)
A: 

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

James Gregory
A: 

Ok, I've found the way, it's possible by using IClassConvention + IOC(structuremap with assembly scanning).

buddy