Я пытаюсь настроить приложение MVC2 с Entity Framework Self-Tracking-Entities. Мое представление - строго типизированное представление типа сущности, сгенерированное шаблоном STE T4. Вот мой GET:
public ActionResult Edit(int id)
{
var ri = new App1Service.App1Client().GetMyObj(id);
var changeTracking = ri.ChangeTracker.ChangeTrackingEnabled; // this shows true
return View(ri);
}
Пока все хорошо. Когда эта форма POSTs, однако, ChangeTracker обнуляется / сбрасывается к значениям по умолчанию, и, таким образом, STE, кажется, внезапно забывает, что он должен отслеживать себя:
[HttpPost]
public ActionResult Edit(MyObj ri)
{
// MyObj.ChangeTracker.ChangeTrackingEnabled now shows false
// so the following line doesn't save anything:
new App1Service.App1Client().SaveMyObj(ri);
return RedirectToAction("Index");
}
В чем секрет того, чтобы строго типизированное представление висело (и возвращалось обратно) всему STE? Если мне нужно пойти и сделать еще одно чтение, чтобы получить исходные значения, а затем применить изменения, что, кажется, лишает цели самообследования сущностей, не так ли?