NHibernate - Updating a table with a trigger on it

2019-04-18 01:59发布

问题:

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?

回答1:

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



回答2:

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.