NHibernate - Обновление таблицы с триггером вызывает ошибку - Неожиданное количество строк: 2; ожидается: 1 - PullRequest
22 голосов
/ 05 мая 2009

Итак, я пытаюсь обновить объект в моей базе данных MS SQL 2005 с помощью NHibernate. Помните, что это устаревшая база данных, используемая во многих живых системах, и я не могу удалить триггеры.

Когда мой провайдер данных пытается выполнить .SaveOrUpdate () строку, я получаю два возврата (один для фактического обновления и один при выполнении триггера)

Необработанный возврат выглядит так:

(затронут 1 ряд)

(затронут 1 ряд)

Затем NHibernate генерирует исключение, подобное следующему: «Неожиданное количество строк: 2; ожидаемое: 1»

По сути, я ищу эквивалент "SET NOCOUNT ON" изнутри сессии.

Есть идеи?

Ответы [ 2 ]

33 голосов
/ 05 мая 2009

И вы не можете обновить триггер, чтобы отключить / включить SET NOCOUNT до / после кода триггера?

SET NOCOUNT ON - твой триггер SET NOCOUNT OFF

2 голосов
/ 05 мая 2009

NHibernate JIRA NH-1353 предоставляет исправление для неактивной проверки количества строк в файле конфигурации. Похоже, что этот патч не попал в ствол 2.x.

...