【发布时间】:2017-09-04 07:19:55
【问题描述】:
我想更新 ASP.Net MVC 5 中的单个字段我收到错误:
我的代码:
MyJobs.PublishStatus = 1;
db.MyJobContext.Attach(MyJobs);
db.Entry(MyJobs).Property(x => x.PublishStatus).IsModified = true;
//db.Configuration.ValidateOnSaveEnabled = false;
db.SaveChanges();
我得到以下错误:
存储更新、插入或删除语句影响了意外数量的行 (0)。 自加载实体后,实体可能已被修改或删除。 请参阅http://go.microsoft.com/fwlink/?LinkId=472540 了解有关理解和 处理乐观并发异常。
有关于此错误的帖子,但我无法弄清楚: Entity Framework: "Store update, insert, or delete statement affected an unexpected number of rows (0)."
并从 How to update only one field using Entity Framework? 更新 asp.net MVC 中的单个字段
【问题讨论】:
-
MyJobs.PublishStatus = 1;如果MyJobs来自 LINQ 结果集,可能已经更新了PublishStatus,因此当Attach被执行时,就没有要更新的行了。 -
如果您将
ValidateOnSaveEnabled设置为false,它将起作用。我可以看到你的代码你已经有了那行,你为什么评论它? -
我试过了,但没用
标签: asp.net-mvc entity-framework asp.net-mvc-5