J'utilise Fluent et NHibernate. J'ai deux objets disons A & B qui a une relation plusieurs-à-plusieurs entre eux. J'utilise un mappage plusieurs-à-plusieurs unidirectionnel lorsque A HasMany B's. Il n'y a pas de référence dans B sur A (unidirectionnel).Cascade lors de la suppression à l'aide du mappage un à plusieurs unidirectionnel
Cela crée une troisième table (nommée ABMapping) dans la base de données qui a les deux colonnes relatives aux clés primaires de A & B.
Si je supprime l'objet A, les entrées de la table ABMapping liés à A sont supprimés. C'est super. Mais, maintenant je ne suis pas en mesure de supprimer un objet B, car il a une contrainte FK. Comment puis-je le configurer de sorte que lors de la suppression de B, toutes les entrées relatives à B dans ABMapping sont supprimées automatiquement?
La contrainte unidirectionnelle est-elle importante? Avec lui, à un niveau fondamental, vous devrez rechercher sur tous les mappages pour ceux liés à B pour chaque entrée dans B qui est supprimée. – Clueless
Oui, la cartographie est importante. Et je veux éviter le scénario où, lors de la suppression de B, je dois supprimer les mappages sur B explicitement. Est-ce la seule façon d'y aller? En outre, que se passe-t-il pour un un-à-un unidirectionnel? Je pense que ce sera le même scénario. Si je supprime B, je devrai rechercher tous les objets de type A qui se réfèrent à B, et les supprimer d'abord avant de supprimer l'objet B. – Zuber