mvc中使用EF更新
直接new一个,然后设置值,而不要从库中查。
Attach,然后改变状态,最后save。(Attach之后状态会变成unchanged所以要手动更改状态,详情请看“在不同的ObjectContext中更新数据”)
[HttpPost] public ActionResult Edit(int id, FormCollection collection) { if (ModelState.IsValid) { admins admins = new admins(); UpdateModel(admins); db.admins.Attach(admins); db.ObjectStateManager.ChangeObjectState(admins, EntityState.Modified); db.SaveChanges(); } return RedirectToAction("Index"); }
这里必须使用具体的db.xxx.Attach
不能直接使用db.Attach
否则报错