EF 更新Model 报错:Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded


1、报错环境

目的 更新 model,   但是更新之前 根据外键 我查询了 是否已经存在:

dbContext.model.Where(d => d.HotelId == hotelId).FirstOrDefault();

如果 存在 就更新, 不存在就Add;

存在 时 去 更新:

dbContext.Entry(model).State = EntityState.Modified;
dbContext.SaveChanges()

此时运行就会报错: Store update, insert, or delete statement affected an unexpected number of rows (0)

 

解决办法:

 dbContext.model.Where(d => d.HotelId == hotelId).FirstOrDefault();

 dbContext.Entry(mod).State = EntityState.Detached;    // 查询完后 dbContext实体 内 已经存在了, 要设置为 detach ,然后再去更新

dbContext.Entry(model).State = EntityState.Modified;
dbContext.SaveChanges()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM