次のような編集アクションがあります。
[HttpPost]
public ActionResult Edit(UserModel user1)
{
if (ModelState.IsValid)
{
UserManager um = new UserManager();
String mail = User.Identity.Name;
long id = um.getUserIDByemail(mail);
user user = db.users.Single(u => u.user_id == id);
user.name = user1.name;
user.cellno = user1.cellno;
db.users.Attach(user);
db.ObjectStateManager.ChangeObjectState(user, EntityState.Modified);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(user1);
}
更新したいユーザーオブジェクトがあります。ユーザーの2つのプロパティ(name
、cellno
)はビューから取得されます。実行すると、エラーが発生します。
オブジェクトはすでにオブジェクトコンテキストにあるため、アタッチできません。オブジェクトは、変更されていない状態の場合にのみ再アタッチできます。