Что делает DBContext.Entry?

191
18

[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.

спросил(а) 2013-02-24T00:12:00+04:00 7 лет, 9 месяцев назад
1
Решение
192

он просто привязывает объект к dataContext, иначе вам придется искать объект с использованием первичного ключа, а затем редактировать значение и сохранять его.

Если у вас есть сущность, которая, как вы знаете, уже существует в базе данных, но какие изменения могут быть сделаны, вы можете указать контексту, чтобы привязать объект и установить его состояние в Модифицированное.
http://msdn.microsoft.com/en-US/data/jj592676

ответил(а) 2013-02-24T00:15:00+04:00 7 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема