[HttpPost]
public ActionResult Edit(Movie movie)
{
if (ModelState.IsValid)
{
db.Entry(movie).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(movie);
}
To działanie otrzymuje model filmu i aktualizuje go w bazie danych.
Ale nie mogę wymyślić, jak.
Obiekt movie
nie jest dołączony do db, więc w jaki sposób struktura encji wie, który wiersz w db powinien zostać zaktualizowany?Co robi plik DBContext.Entry?
Jestem pewien, że metoda Entry ma z tym coś wspólnego, ale tak naprawdę nie wiem, co ta metoda robi. Czytałem, że to dostarcza informacji, ale nie mogę zrozumieć, jak po prostu zmieniając State
wpis staje się dołączony i śledzony przez DBContext
.
Ale do tego masz [Załącz] (http://msdn.microsoft.com/en-us/library/system.data.entity.dbset.attach (v = vs.103) .aspx) metoda. –
Mam to. Dziękuję Ci. :) –
Tak więc ta metoda wie, które z właściwości klasy encji są kluczami i może wewnętrznie sformułować wyszukiwanie, aby uzyskać encję za pomocą klucza (-ów) i dołączyć ją. Dobrze? Jeśli tak, to jest niesamowite. –