Probablement une question stupide mais j'ai un certain nombre d'entités qui héritent toutes d'une entité de base. L'entité de base n'a pas de table dans la base de données. Chaque entité a sa propre table et la définition de la table est exactement la même. L'exemple extrêmement simplifié du code est ci-dessous.Héritage NHibernate/NHibernate Question
public abstract class BaseEntity
{
public virtual string someProperty {get; set;}
}
public class Entity1 : BaseEntity{}
public class Entity2 : BaseEntity{}
public class CompletelyDifferentEntity
{
public virtual IList<BaseEntity> {get; set;}
}
J'ai créé les mappages pour les entités. Dans mes autres classes de domaine, si je référence les classes concrètes, tout fonctionne correctement, mais si je change mes autres classes en référence à BaseEntity, j'obtiens une exception de mappage parce que BaseEntity n'est pas mappé. Est-ce quelque chose où je devrais utiliser un discriminateur de sous-classe? Je suppose que je ne vois pas la bonne façon de le faire si la base n'a pas de table associée et les sous-classes n'ont pas une colonne spécifique qui est différente entre les définitions de la table.
Je me pencherai un peu plus sur le mappage table par béton. Malheureusement, la modification du schéma db ne fonctionnera pas car il existe plusieurs systèmes préexistants qui dépendent du schéma tel qu'il est actuellement. –