如何解决"批量更新从更新返回意外行数;实际行数:0;预期:1"问题?

wgp*_*ubs 29 nhibernate fluent-nhibernate automapping

每当我尝试创建一个特定的实体时获得这个......只是想知道我应该如何找出原因.

我正在使用Fluent NHibernate自动化,所以也许我没有适当地设置约定和/或需要覆盖一个或多个映射文件中的某些东西.我已经通过网络上关于这个问题的一些帖子,并且很难弄清楚为什么它会发生在我的案例中.

我正在保存的对象非常简单.它是一个引用"公司"实体并具有"地址"实体集合的"人"对象.UPDATES在已存在于数据库中的现有Person对象上正常工作.

建议?

谢谢-wg

Iai*_*ain 28

该错误意味着正在执行SQL INSERT语句,但SQL Server在运行后返回的ROWCOUNT为0,而不是预期的1.

从不正确的映射到导致rowcount关闭的UPDATE/INSERT触发器有几种原因.

您最好的方法是分析SQL语句并查看会发生什么.要做到这一点,要么打开nHibernate sql logging,要么使用sql profiler.一旦你有了SQL,你可能知道原因,如果没有尝试手动运行SQL,看看会发生什么.

另外,我建议您发布您的地图,因为它可以帮助人们发现任何问题.


Mr.*_* TA 13

当触发器执行影响行计数的其他DML(数据修改)查询时,可能会发生这种情况.我的解决方案是在触发器的顶部添加以下内容:

SET NOCOUNT ON;
Run Code Online (Sandbox Code Playgroud)