2009-03-21 7 views
0

Y at-il un moyen de définir/développer l'héritage sans modifier le mappage de table de base avec Fluent NHibernate? Par exemple avec Castle.ActiveRecord (basé sur NHibernate), vous pouvez définir l'héritage comme ceci:Nhibernate et héritage pluggable

[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; } 
} 
  • Il est possible d'ajouter ou supprimer des sous-classes nouvelles sans changer mappings d'entité de base.
  • Lorsque nous appelons Entity.FindAll() il renvoie toutes les entités (également celles héritées).

Répondre

0

Pas maintenant, non. Certainement pas en aucune façon qui nécessitera aucune modification à votre carte de classe parent.

0

Ok, j'ai trouvé le chemin, c'est possible en utilisant IClassConvention + IOC (structureemap avec analyse d'assemblage).