首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决“批量更新返回来自更新的意外行数;实际行数: 0;预期行数:1”的问题?

如何解决“批量更新返回来自更新的意外行数;实际行数: 0;预期行数:1”的问题?
EN

Stack Overflow用户
提问于 2010-11-03 08:50:34
回答 5查看 73.8K关注 0票数 32

每次我尝试创建一个特定的实体时都会收到这个消息...我只想知道我该怎么找出原因。

我使用的是Fluent NHibernate自动映射,所以我可能没有适当地设置约定和/或需要覆盖一个或多个映射文件中的某些内容。我在网上浏览了许多关于这个问题的帖子,很难弄清楚为什么它会发生在我的案例中。

我要保存的对象非常简单。它是一个引用"Company“实体的"Person”对象,并且具有一个"Address“实体的集合。更新在数据库中已有的Person对象上运行得很好。

有什么建议吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-03 15:07:56

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

有几个原因导致UPDATE/INSERT触发器关闭了行计数,这些原因来自不正确的映射。

最好的方法是分析SQL语句,看看会发生什么。要做到这一点,请打开

nHibernate sql日志记录

,或使用sql profiler。有了SQL之后,您可能就知道原因了,如果没有,请尝试手动运行SQL,看看会发生什么。

此外,我建议您发布您的地图,因为它将帮助人们发现任何问题。

票数 28
EN

Stack Overflow用户

发布于 2014-02-11 23:43:08

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

代码语言:javascript
运行
复制
SET NOCOUNT ON;
票数 13
EN

Stack Overflow用户

发布于 2014-04-30 17:32:36

这可能是由于自动增量主键造成的。要解决此问题,请不要将自动增量值嵌入数据集。插入不带主键的数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4083368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档