自增ID相同时报错: Database operation expected to affect 1 row(s) but actually affected 2 row(s)...
数据库操作预计会影响 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)...相关推荐
- 删除PG数据库时报错database xxx is being accessed by other users
使用图形化界面或者SQL删除PG数据库时,删除失败,异常信息如下 ERROR: database "mydb" is being accessed by other users D ...
- 运行gulp build时报错:error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
报错截图: 报错的原因是项目代码做了eslint的规范检查,规定了换行需要以unix系统的换行方式,Linux下只有换行LF, 而在window下换行默认是CRLF,在window系统下git pul ...
- 【解决办法】安装Exchange2010时报错 - “UserMailbox 必须强制使用Database”
安装Exchange 2010 时报错"UserMailbox 必须强制使用 Database" 故障描述: 在原有Exchange Server 2010 SP1的环境安装新的服 ...
- 安装Exchange 2010 时报错UserMailbox 必须强制使用 Database
安装Exchange 2010 时报错"UserMailbox 必须强制使用 Database" 故障描述: 在原有Exchange Server 2010 SP1的环境安装新的服 ...
- Linux环境编译时报错/lib64/libdl.so.2: could not read symbols: Invalid operation
今天编译遇到一下问题: /usr/lib64/libdl.so.2: error adding symbols 查了下资料,所用的第三方库用到了dlclose之类的库 1.问题描述 Linux环境编译 ...
- npm时报错解决EPERM: operation not permitted, lstat
在使用vue-cli做项目时,曾遇到过npm run build打包时报错的问题,如下图 当时遇到问题后试了好多方法都不行,dist文件夹也删除不了,然后各种搜索,有的让清除缓存,有的说是无权限访问, ...
- jdbc 自增id 原理_给“小白”漫画+图示讲解MyBatis原理,就问香不香!
MyBatis一款后起之秀的持久层框架ORM,支持自定义SQL.存储过程和高级映射,相对于Hibernate算是半自动化的框架,在国内行业内非常流行. 常规的JDBC操作,配置相应的数据库连接的信息, ...
- oracle biee 11g客户端连接OCI 10g/11g数据源时报错
OBIEE 11g BI 管理工具 连接OCI 10g/11g数据源时报错[连接失败] OBIEE 11g Client Admin Tool Connection To Datasource In ...
- oracle导出文件报12154,EXPDP导出时报错ORA-12154
一.问题描述 做数据迁移时报错ORA-12154 [oracle@qianzhi ~]$ expdp zrd/zrd@qianz directory=DATA_PUMP_DIR dumpfile=20 ...
最新文章
- oracle refresh force,千万级表上的物化视图(force模式 ),手动刷新,为何速度奇慢?...
- Serval and Parenthesis Sequence
- 技术三板斧:关于技术规划、管理、架构的思考
- 运动目标检测单高斯背景建模
- 《树莓派实战秘籍》——1.14 技巧14初学GPIO
- commit分拆多个 git_git如何合并只有两个commit到一个?
- arcgis利用Model Builder构建器进行批量处理数据
- Cocos Creator plist图集使用方法
- Leo个人MSN简明使用手册
- 样本量对差异性分析(Anova)或者T 检验的影响
- Android8-Settings-BlueTooth
- matlab符号计算实验心得,Matlab符号计算总结
- 统俗讲义之——何为统计显著性(Statistical Significance)
- [顶会举办地速查] - 深度学习顶会:CVPR、ICCV、ECCV 历年举办地点(2015~2022)
- oracle中的open,oracle最常见的三个参数:open_cursors、sessions、processes
- 举个栗子!Tableau 技巧(121):用 Makepoint 和 Makeline 函数实现连线地图
- win10版本号怎么查看
- matlab四维图形,MATLAB二维、三维、四维绘图
- 常用邮箱POP3 STMP服务器与端口号设置:
- php推荐笔记本,全能笔记本电脑推荐2021-性价比高性能全能本排行榜