我正在使用名爲User的實體對象。這是我用來保存(在庫)功能:修改實體對象被保存到數據庫,但使用.net檢索並不反映更改
public void saveUser(User user){
if (user.EntityState == System.Data.EntityState.Detached)
this._db.Users.Attach(user); // attach to the context
this._db.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Modified);
this._db.SaveChanges();
}
這種實體與實體數據模型設計器創建的。這是由視圖(我使用實體對象作爲模型)更改,並保存調用是由我的控制器。
當我編輯用戶時,所做的更改會保存到數據庫,但視圖會看到舊屬性。當我重新啓動程序時,顯示正確的屬性值。
這是我如何從資源庫中檢索對象:
public IQueryable<User> GetUsers(String user_name)
{
IQueryable<User> userquery = from u in _db.Users
where u.user_name == user_name
select u ;
return userquery;
}
控制器:
public ActionResult ManageUser(String user_name)
{
IQueryable<User> users = this.users_db.getUsers(user_name);
User user = users.First();
return View(user);
}
[HttpPost]
public ActionResult ManageUser(User user){
this.users_db.saveUser(model.user);
ViewBag.message="Success";
return View(user);
}
我離開了一些爲簡潔異常和錯誤檢查代碼。
你的控制器是什麼樣的? –
剛剛添加了控制器功能。謝謝。 – James