La question est: comment écrire une convention qui empêche la suppression de la référence d'entité si elle hérite du type Root
? J'utilise couramment nhibernate et sa fonctionnalité de cartographie automatique. Activé en cascade supprimer par défaut.Convention de suppression NHibernate en cascade pour les racines agrégées
Tout était vraiment cool jusqu'à ce que je casse enfin la casse lorsque j'ai besoin de supprimer réellement la racine agrégée qui fait référence à une autre. J'ai les racines User
et Application
. User
enregistre Applications
. Si c'est enregistré par erreur, il y a un petit intervalle de temps dans lequel User
avec le rôle Admin
peut le supprimer (je suis un peu sûr que je n'aurai jamais besoin de ces données).
Lorsque User
supprime Application
, en raison de la suppression en cascade, nhibernate supprime User
lui-même (quelle ironie ...).
Je ne suis pas sûr comment spécifier SaveUpdate en cascade pour Application-> Association d'utilisateurs seulement:
le tour est joué:
m.References(x=>x.RegisteredBy).Cascade.SaveUpdate(); //RegisteredBy.Type==User
De plus, dit fnh où rechercher les remplacements:
var m=new AutoPersistenceModel(storeCfg);
m.UseOverridesFromAssembly(assembly);
Je suis un peu confus à nouveau. Ajout de l'image à ma question –
Avez-vous résolu un problème? – Sly