Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NHibernate - Updating a table with a trigger on it causes an error - Unexpected row count: 2; expected: 1

So I'm trying to update an object in my MS SQL 2005 database using NHibernate. Please keep in mind that this is a legacy database used in many live systems and I can't remove the triggers.

When my data provider tries to .SaveOrUpdate() a row I get two returns (one for the actual update, and one when the trigger executes)

The raw return looks like this:

(1 row(s) affected)

(1 row(s) affected)

NHibernate then throws an exception like this: "Unexpected row count: 2; expected: 1"

I'm essentially looking an equivalent to "SET NOCOUNT ON" from within the session.

Any ideas?

like image 371
David P Avatar asked May 04 '09 20:05

David P


2 Answers

And you can't update the trigger to disable/enable the SET NOCOUNT before/after the trigger's code ?

SET NOCOUNT ON -- your trigger SET NOCOUNT OFF

like image 161
MatthieuGD Avatar answered Nov 13 '22 20:11

MatthieuGD


NHibernate JIRA NH-1353 provides a patch to deactive row count checking in the config file. It appears that this patch hasn't made it into the 2.x trunk.

like image 39
Jamie Ide Avatar answered Nov 13 '22 21:11

Jamie Ide