NHibernate - 更新一个带有触发器的表会导致错误 - 意外的行数:2;预期:1

时间:2009-05-04 20:45:45

标签: nhibernate hibernate nhibernate-mapping

所以我正在尝试使用NHibernate更新MS SQL 2005数据库中的对象。请记住,这是许多实时系统中使用的遗留数据库,我无法删除触发器。

当我的数据提供者尝试.SaveOrUpdate()行时,我得到两个返回(一个用于实际更新,一个用于执行触发器)

原始回报如下:

(1行受影响)

(1行受影响)

然后NHibernate抛出一个这样的异常:“意外的行数:2;预期:1”

我基本上在会话中看起来相当于“SET NOCOUNT ON”。

有什么想法吗?

2 个答案:

答案 0 :(得分:33)

你不能更新触发器以在触发器代码之前/之后禁用/启用SET NOCOUNT吗?

设置NOCOUNT ON - 你的触发器 SET NOCOUNT OFF

答案 1 :(得分:2)

NHibernate JIRA NH-1353为配置文件中的反活动行计数检查提供了一个补丁。看来这个补丁还没有进入2.x主干。