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()