数据库操作预计会影响 1 行,但实际上影响了 2 行。 自加载实体以来,数据可能已被修改或删除。 有关理解和处理乐观并发异常的信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=527962。

项目场景:

使用EF进行数据修改并保存_dbContext.SaveChanges();的时候出现错误


问题描述:

在EF里面进行修改的时候出现错误,报错:中文意思(数据库操作预计会影响 1 行,但实际上影响了 2 行。 自加载实体以来,数据可能已被修改或删除。 有关理解和处理乐观并发异常的信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=527962。)在网上搜索了许多都没找到原因。并且添加没有问题!


原因分析:

因为里面新增的数据再修改没有问题,但是之前的历史数据修改却报错,想到是数据问题,吧正确数据和错误数据对了一遍,么有发现什么问题。然后就开始想是否为触发器的原因,还有它的一些约束,但是发现就算吧触发器删除掉也是一样有问题。非常纳闷。这时候有个同事说 可能是数据不唯一的原因,所以就开始在数据库group by查找数据是否唯一。


解决方案:

最后发现还真是数据不唯一的原因,要修改的数据的自增列竟然不唯一。是的,因为有一部分是我从另一个数据库导进来的数据,所以导致了自增列id竟然有很多重复的。原以为导进来的数据自增列会自动往下排,没想到是保持原来的自增信息。所以吧自增id相同的id删除掉值保留一个,然后在项目里面,ef在_dbContext.SaveChanges();的时候就不会再报错了。

自增ID相同时报错: Database operation expected to affect 1 row(s) but actually affected 2 row(s)...相关推荐

  1. 删除PG数据库时报错database xxx is being accessed by other users

    使用图形化界面或者SQL删除PG数据库时,删除失败,异常信息如下 ERROR: database "mydb" is being accessed by other users D ...

  2. 运行gulp build时报错:error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style

    报错截图: 报错的原因是项目代码做了eslint的规范检查,规定了换行需要以unix系统的换行方式,Linux下只有换行LF, 而在window下换行默认是CRLF,在window系统下git pul ...

  3. 【解决办法】安装Exchange2010时报错 - “UserMailbox 必须强制使用Database”

    安装Exchange 2010 时报错"UserMailbox 必须强制使用 Database" 故障描述: 在原有Exchange Server 2010 SP1的环境安装新的服 ...

  4. 安装Exchange 2010 时报错UserMailbox 必须强制使用 Database

    安装Exchange 2010 时报错"UserMailbox 必须强制使用 Database" 故障描述: 在原有Exchange Server 2010 SP1的环境安装新的服 ...

  5. Linux环境编译时报错/lib64/libdl.so.2: could not read symbols: Invalid operation

    今天编译遇到一下问题: /usr/lib64/libdl.so.2: error adding symbols 查了下资料,所用的第三方库用到了dlclose之类的库 1.问题描述 Linux环境编译 ...

  6. npm时报错解决EPERM: operation not permitted, lstat

    在使用vue-cli做项目时,曾遇到过npm run build打包时报错的问题,如下图 当时遇到问题后试了好多方法都不行,dist文件夹也删除不了,然后各种搜索,有的让清除缓存,有的说是无权限访问, ...

  7. jdbc 自增id 原理_给“小白”漫画+图示讲解MyBatis原理,就问香不香!

    MyBatis一款后起之秀的持久层框架ORM,支持自定义SQL.存储过程和高级映射,相对于Hibernate算是半自动化的框架,在国内行业内非常流行. 常规的JDBC操作,配置相应的数据库连接的信息, ...

  8. oracle biee 11g客户端连接OCI 10g/11g数据源时报错

    OBIEE 11g BI 管理工具 连接OCI 10g/11g数据源时报错[连接失败] OBIEE 11g Client Admin Tool Connection To Datasource In ...

  9. oracle导出文件报12154,EXPDP导出时报错ORA-12154

    一.问题描述 做数据迁移时报错ORA-12154 [oracle@qianzhi ~]$ expdp zrd/zrd@qianz directory=DATA_PUMP_DIR dumpfile=20 ...

最新文章

  1. oracle refresh force,千万级表上的物化视图(force模式 ),手动刷新,为何速度奇慢?...
  2. Serval and Parenthesis Sequence
  3. 技术三板斧:关于技术规划、管理、架构的思考
  4. 运动目标检测单高斯背景建模
  5. 《树莓派实战秘籍》——1.14 技巧14初学GPIO
  6. commit分拆多个 git_git如何合并只有两个commit到一个?
  7. arcgis利用Model Builder构建器进行批量处理数据
  8. Cocos Creator plist图集使用方法
  9. Leo个人MSN简明使用手册
  10. 样本量对差异性分析(Anova)或者T 检验的影响
  11. Android8-Settings-BlueTooth
  12. matlab符号计算实验心得,Matlab符号计算总结
  13. 统俗讲义之——何为统计显著性(Statistical Significance)
  14. [顶会举办地速查] - 深度学习顶会:CVPR、ICCV、ECCV 历年举办地点(2015~2022)
  15. oracle中的open,oracle最常见的三个参数:open_cursors、sessions、processes
  16. 举个栗子!Tableau 技巧(121):用 Makepoint 和 Makeline 函数实现连线地图
  17. win10版本号怎么查看
  18. matlab四维图形,MATLAB二维、三维、四维绘图
  19. 常用邮箱POP3 STMP服务器与端口号设置:
  20. php推荐笔记本,全能笔记本电脑推荐2021-性价比高性能全能本排行榜

热门文章

  1. 用静态KML脚本在GoogleEarth上实现动态效果
  2. 百分点苏海波-用户画像的构建与使用2应用
  3. 星起航:在内容为王的时代电商拥抱短视频势不可挡
  4. 苹果换卡后显示无服务器,苹果手机插上sim卡无服务怎么办
  5. 2021大学生开学必备物品清单
  6. 关于关于高博3d2d程序报错的改动
  7. X79主板win10启动卡住问题修复处理
  8. 在html中取消超链接的下划线
  9. 第一次安装mysql怎么样启动_CentOS第一次安装MySQL的完整步骤
  10. 小米电视显示服务器故障,小米电视常见的三大问题分析及解决方法