Je n'essayerais pas de combiner les deux déclenchements et l'utilisation d'une couche données telle que le nhibernate - vous allez toujours obtenir des problèmes de synchronisation. le nHibernate est prévu pour contrôler vos données - et votre couche d'affaires devrait contrôler des processus tels que mettre à jour vos prix. Personnellement je ne vais pas près des déclenchements pour aucune logique d'affaires - pour auditer peut-être, mais près de rien d'autre. Je pense qu'ils obscurcissent la logique d'affaires et la rendent proche sur impossible de mettre en application d'autres solutions de code pour contrôler les données - comme vous trouvez.
Pourquoi pas entrer votre code de déclenchement dans un procédé stocké et appeler le procédé de la portée de transaction de la mise à jour si « finissait » le drapeau est vrai ? Je contrôlerais ceci dans la couche d'affaires, mais vous pourriez déplacer ceci à la couche données si vous souhaitez.
Tim