Tentando di aggiornare una entità persistita su una tabella di SQL Server dove è presente un trigger ottengo l'eccezione seguente e l'aggiornamento fallisce:

[NHibernate.AdoNet.TooManyRowsAffectedException] {"Unexpected row count: 2; expected: 1"} NHibernate.AdoNet.TooManyRowsAffectedException

A quanto pare il fatto che il trigger aggiorni un altro record fa sì che il db ritorni 2 come numero di record aggiornati, il che fa pensare ad NH che ci sia stato un errore. Non ho trovato opzioni che dicano a NH di non verificare il numero di record aggiornati; sembra che l'unica soluzione consista nel disabilitare il conteggio dei record modificati nel trigger (impostare SET NOCOUNT ON prima del comando di UPDATE nel trigger e impostare SET NOCOUNT OFF dopo il comando di UPDATE). Non ho trovato altre soluzioni.

posted on mercoledì 14 novembre 2007 23.35
Filed Under [ NHibernate ]

Comments

Gravatar
# re: NHibernate e i trigger di SQL Server
posted by 杭州拼客
on 13/04/2008 18.44
Your Comment




 
Please add 1 and 7 and type the answer here: