EF4 STE и MVC2 - ChangeTracker не размещает - PullRequest
1 голос
/ 05 августа 2010

Я пытаюсь настроить приложение 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? Если мне нужно пойти и сделать еще одно чтение, чтобы получить исходные значения, а затем применить изменения, что, кажется, лишает цели самообследования сущностей, не так ли?

...