我正在尝试使用Entity Framework自我跟踪实体设置MVC2应用。我的视图是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);
}
到目前为止,这么好。然而,当这个表格POST时,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");
}
让强类型视图挂起(和POST后)整个STE的秘诀是什么?如果我必须去做另一次读取以获得原始值然后应用更改,这似乎会破坏自我跟踪实体的目的,不是吗?