Dans mon application pour le moment j'ai (comme dans tant d'autres applications) une entité appelée Contact
, qui représente toute personne. À son niveau le plus basique, il est utilisé pour représenter les contacts d'affaires. Cependant, il peut également être utilisé pour représenter les employés de l'entreprise. et il y a aussi quelques types spéciaux d'employés (disons qu'il y en a un appelé Manager
)Est-il toujours valide de convertir un objet d'une classe de base à une sous-classe
J'essaye de modéliser cela comme une relation d'héritage qui a du sens. Les employés ont des noms et des adresses, tout comme les contacts, ainsi qu'un certain nombre d'attributs liés à l'emploi. Les gestionnaires ont également un certain nombre d'attributs spécifiques au gestionnaire.
La difficulté vient quand un employé est promu à un gestionnaire. Est-il autorisé à convertir la classe de base Employee
à la classe héritière Manager
? C'est mal. Je suppose que je le ferais avec un constructeur spécialisé sur Manager
. En plus, NHibernate supporte ce genre de comportement? est-ce aussi simple que d'obtenir l'employé, de créer le gestionnaire de l'employé, puis de sauver le gestionnaire?
La question de NHibernate était juste de savoir si NHibernate se plaignait de sauver un objet en tant que sous-classe quand il a été récupéré en tant que type de base. –