此代碼不能真正保存任何更改:強類型ASP.NET MVC實體框架
//
// POST: /SomeType/Edit/5
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Guid id, SomeType Model)
{
db.AttachTo(Model.GetType().Name, Model);
db.ApplyPropertyChanges(Model.EntityKey.EntitySetName, Model);
db.SaveChanges();
return RedirectToAction("Index");
}
ASP.NET MVC創建對象模型與獨立的EntityState值一系類EntityObject 。
使用AttachTo方法後,其EntityState變爲未更改。
MSDN on Attaching Objects (Entity Framework)
對象被附接到在不變狀態的對象 上下文。
由於其不變狀態,方法ApplyPropertyChanges什麼都不做。我想讓它改爲修改爲。
MSDN on EntityState Enumeration
獨立
對象存在,但它沒有被對象 服務跟蹤。一個實體在創建 後立即處於此狀態 ,並且在它被添加到對象 上下文中之前。通過調用Detach 方法或使用 NoTrackingMergeOption加載,實體在 上下文中被刪除後,該實體也處於此 狀態。不變
對象沒有被修改,因爲它是裝入 上下文或自最後一次 該SaveChanges方法被稱爲 。改性
該目的改變,但是SaveChanges方法沒有 被調用。
我無法明確地將EntityObject的EntityState屬性設置爲修改爲。它是隻讀的。
使用EntityObjects強類型MVC控制器是不可能的嗎?
http://stackoverflow.com/questions/922402/strongly-typed-asp-net-mvc-with-ado-net-entity-framework – 2009-05-28 18:13:38