Что делает DBContext.Entry?
[HttpPost]
public ActionResult Edit(Movie movie)
{
if (ModelState.IsValid)
{
db.Entry(movie).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(movie);
}
Это действие получает модель фильма и обновляет ее в базе данных.
Но я не могу понять, как.
Объект movie
не привязан к db, так как структура сущности знает, какая строка в db должна быть обновлена?
Я уверен, что метод Entry имеет к этому какое-то отношение, но я действительно не знаю, что делает этот метод. Я читал, что это доказывает информацию, но я не могу понять, как, просто изменив State
записи, она будет прикрепляться и отслеживаться с помощью DBContext
.
он просто привязывает объект к dataContext, иначе вам придется искать объект с использованием первичного ключа, а затем редактировать значение и сохранять его.
Если у вас есть сущность, которая, как вы знаете, уже существует в базе данных, но какие изменения могут быть сделаны, вы можете указать контексту, чтобы привязать объект и установить его состояние в Модифицированное.
http://msdn.microsoft.com/en-US/data/jj592676