Ayant construit la plupart de mes DAL en utilisant NHibernate, j'ai maintenant découvert que les règles Cascade On Delete de SQL Server doivent aussi être prises en compte dans mes fichiers HBM. J'ai utilisé des sacs pour toutes mes collections, mais il ne semble pas y avoir moyen d'ajouter un attribut cascade = "delete" à un sac. Je peux changer tous mes sacs pour les ensembles, mais cela semble signifier que j'ai changé tous mes IList <> s sur mes modèles à PersistentGenericSet <> s, que je ne ai pas vraiment envie de faire.Hibernate cascade delete sur un sac
Un conseil?
Anthony
Cela est correct, mais je tiens à souligner que le paramètre de suppression est utilisé lors de la création du script de base de données à partir de NHibernate. Il va créer une clé étrangère avec une cascade de suppression. Il ne cascade pas les suppressions de vos objets. –
En fait, il modifie le comportement de NHibernate, car il est maintenant conscient de l'existence du comportement * on delete cascade *, donc si vous avez 'cascade =" all "', il utilisera la DB pour le faire au lieu de supprimer objets enfants un par un. –
Juste essayé cela et j'obtiens l'erreur suivante: Seules les associations un-à-plusieurs inverses peuvent utiliser on-delete = "cascade" – littlecharva