案例:使用NHibernate新增、编辑或删除数据表TabelA中的一条记录,此表有相应触发器,触发器如下:
create TRIGGER tr_A
ON TableA
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
insert into TableB values('1','a');
END
NHibernate将出现异常,异常信息为:Unexpected row count: 2; expected: 1 ,原因:新增、编辑或删除数据表TabelA时有(1 行受影响),触发器中也会(1 行受影响)
解决办法:触发器中增加set nocount on,阻止在结果集中返回受影响的行计数的消息
create TRIGGER tr_A
ON TableA
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
--阻止在结果集中返回受影响的行计数的消息
set nocount on;
insert into TableB values('1','a');
END