Non tenterei di unire entrambi gli inneschi e l'uso di uno strato di dati quale nhibernate - state andando sempre ottenere i problemi di sincronizzazione. il nHibernate è inteso per dirigere i vostri dati - ed il vostro strato di affari dovrebbe dirigere i processi come aggiornamento dei vostri prezzi. Personalmente non vado vicino agli inneschi per alcuna logica di affari - per la verifica forse, ma a nient'altro. Penso che oscurino la logica di affari e la rendano nigh su impossible realizzare altre soluzioni di codice per il controllo dei dati - come state trovando.
Perché non entrare il vostro codice di innesco in una procedura immagazzinata e denominare la procedura dall'interno della portata di transazione dell'aggiornamento se “rifinisse„ la bandierina è allineare? Dirigerei questo all'interno dello strato di affari, ma potreste spostare questo verso lo strato di dati se desiderate.
Tim