[英]How update an individual database record by ID
我一直在阅读《 ASP.Net MVC C#电影数据库》教程,但是一直在尝试进行一些小的更改以帮助了解哪些内容可以做什么。 我会补充说,我是一个初学者。
我有一个带有小型表单和按钮的页面,当我填写表单并单击提交表单中的数据时,将更新数据库表中的预定记录。
在控制器代码中如何指定单个记录? 假设该表中将永远只包含一个记录,该记录将通过新信息定期更新?
我想这与代码中的这两行有关:
db.Entry(data).State = EntityState.Modified;
db.SaveChanges();
我只是不确定如何单独指定记录,以便对其进行更新? 该记录将具有一个ID号(例如,该ID将为“ 1”)。
按原样进行更新的代码:
// POST: /Data/Update/
[HttpPost]
public ActionResult Update(Data data)
{
if (ModelState.IsValid)
{
db.Entry(data).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(data);
}
EF需要知道要更新数据库中的哪一行。 如果未从请求绑定“ ID”属性,则需要在代码中显式设置它:
if (ModelState.IsValid)
{
data.Id = 1; //EF need to know which row to update in the database.
db.Entry(data).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.