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