2009-05-04 956 views
22

Estoy tratando de actualizar un objeto en mi base de datos MS SQL 2005 usando NHibernate. Tenga en cuenta que esta es una base de datos heredada utilizada en muchos sistemas en vivo y no puedo eliminar los desencadenantes.NHibernate: la actualización de una tabla con un desencadenador provoca un error. Recuento inesperado de filas: 2; esperado: 1

Cuando mi proveedor de datos intenta .SaveOrUpdate() una fila consigo dos vueltas (una para la actualización real, y uno cuando se ejecuta el desencadenador)

El retorno prima se ve así:

(1 fila (s) afectada)

(1 fila (s) affected)

NHibernate continuación, se produce una excepción de esta manera: "inesperado número de filas: 2; esperada: 1"

Básicamente estoy buscando un equivalente a "ESTABLECER NOCOUNT ENCENDIDO" desde dentro de la sesión.

¿Alguna idea?

Respuesta

32

Y no puede actualizar el activador para deshabilitar/habilitar el SET NOCOUNT antes/después del código del disparador?

SET NOCOUNT EN - su disparador SET NOCOUNT OFF

+0

Es muy raro obtener la respuesta rápida y fácilmente. Gracias Matthieu. – David

+0

¡Te gusta mi mundo! Muchas gracias - Exactamente lo que estaba buscando :) – JuniorCoder

+0

¡La mejor respuesta! Gracias Matt eres un Rockstar! – Chris

2

NHibernate JIRA NH-1353 proporciona un parche para comprobar Desactivado recuento de filas en el archivo de configuración. Parece que este parche no ha llegado al tronco 2.x.

Cuestiones relacionadas