Je crois qu'il s'agit d'une question/d'un problème commun, mais que je n'ai pas réussi à trouver une bonne réponse propre et concise.Comment mapper des classes dans NHibernate en utilisant les rôles ou la composition
Le problème
Comment cartographier les entités qui semblent avoir une relation d'héritage:
Company
Supplier
Manufacturer
Customer
Cependant, un fournisseur peut être un fabricant.
ou
Person
Doctor
Patient
Employee
Lorsqu'un patient peut être un médecin ou peut être un employé.
Suggestion: Utiliser les rôles
Au cours des discussions sur les forums NHibernate, la réponse est souvent que cela est l'héritage multiple.
http://forum.hibernate.org/viewtopic.php?t=959076
Ils solution proposée est d'utiliser la composition ou d'utiliser des "rôles". Cependant, je ne peux trouver aucun exemple ou explication sur la façon exacte de faire cela.
"Favoriser la composition sur l'héritage." Rappelez-vous ce petit goodie de classe? Dans ce cas, je dois d'accord que vous essayez plusieurs héritage - pas possible en C# ou Java (encore). Moi, personnellement, vous encourager à penser à re-modélisation de sorte que vous avez un objet Personne et une personne a un un-à-plusieurs collection de rôles.
La pièce que je ne comprirent pas été le DoctorRole, PatientRole, etc sous-classes! Le lien est utile aussi! Merci – quip
Le lien ne fonctionne plus. Attention à mettre à jour? – TedOnTheNet
@TedOnTheNet Merci pour les heads up. Je vais devoir chercher le nouvel emplacement de cette page. –