兄弟初次使用Castle ActiveRecord数据持久,遇到个棘手问题!
我在给表里面create()数据的时候报了这个错误:
SQL insert, update or delete failed (expected affected row count: 1, actual affected row count: 2). Possible causes: the row was modified or deleted by another user, or a trigger is reporting misleading row count. 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: NHibernate.HibernateException: SQL insert, update or delete failed (expected affected row count: 1, actual affected row count: 2). Possible causes: the row was modified or deleted by another user, or a trigger is reporting misleading row count.
  
    我仔细检查了一下发现是我表中有个insert触发器的原因,要是删除这个触发器就可以create()成功。各位有没有谁遇到过类似问题。。跪求一解啊!

解决方案 »

  1.   

    用纯sql往表里加一条数据,看他是否报错
      

  2.   

    当然不会了。。就是有了触发器后再用Castle ActiveRecord的create()会出现错误,删除触发器就没问题了。继续等待Castle ActiveRecord架构高手出现啊
      

  3.   

     哎。。搞了半天终于找到问题所在了,原来Nhibernate把触发器影响的行数也算成程序插入的行数了,要在触发器里面加上set nocount on ,这样触发器就不返回影响的行数了。写出来跟大家分享下。