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