J'ai un modèle où plusieurs classes ont une liste de types de valeurs:NHibernate: Carte même classe à plusieurs tables en fonction de parent
class Foo { public List<ValType> Vals; }
class Bar { public List<ValType> Vals; }
Foo et Bar ne sont pas reliés à part qu'ils contiennent tous deux ces vals. Les règles pour ajouter, supprimer, etc. les ValTypes sont différentes pour chaque classe. Je voudrais garder cette conception dans mon code.
Il y a des moments où je veux copier certains Vals d'un Foo à une barre, par exemple. Dans la base de données, chaque ValType a sa propre table, pour le garder petit, léger (il a juste l'ID parent + 2 champs), et permettre les contrôles d'intégrité. Je sais que NHibernate dit que je devrais garder mes objets aussi granulaires que la base de données, mais cela rend mon code plus laid. Le meilleur que j'ai pensé jusqu'ici est de faire des sous-classes séparées de ValType, une pour chaque parent. Ensuite, je peux cartographier ceux à ce niveau. Ensuite, je vais ajouter et supprimer la logique pour convertir automatiquement entre les sous-classes de droite, et en fait les stocker dans une liste privée qui a le bon type de sous-classe. Mais cela semblait un peu compliqué. Comment puis-je mapper cela dans NHibernate (Fluent NHibernate si possible)?
S'il vous plaît laissez-moi savoir s'il s'agit d'un doublon - Je ne suis pas sûr de savoir comment rechercher cela.
Hmm cela serait embarrassant: P. Je vérifierai! – MichaelGG
Je vois le lien n'existe plus, aimerait voir la solution – adriaanp
Vous pouvez le trouver à travers la Wayback Machine (http://replay.waybackmachine.org/20090301015011/http://code.google.com/p/ fluent-nhibernate/wiki/Examples) mais je ne trouve pas le morceau de code correspondant. – Peter