[HttpPost]
public ActionResult Edit(Movie movie)
{
if (ModelState.IsValid)
{
db.Entry(movie).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(movie);
}
此操作接收电影模型并在数据库中更新它.
但我想不出是怎么回事.
movie
对象没有附加到数据库,那么实体框架如何知道应该更新数据库中的哪一行呢?
我确信Entry方法与此有关,但我真的不知道这个方法的作用.我读到它提供了信息,但我不明白仅仅改变条目的State
,它是如何被DBContext
附加和跟踪的.