あなたのその後はTryUpdateModelです。
ModelBinder がフォーム値を見つけたプロパティのみを更新します。
http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryupdatemodel(v=vs.108).aspx
entityframework を使用してデータベースからモデルを取得し、TryUpdateModel を呼び出します (必要に応じて、更新するプロパティのホワイトリストを渡すこともできます。これにより、悪意のあるユーザーがフォームの値を追加してモデルの他のプロパティを変更するのを防ぐことができます)。
戻り値をチェックして、検証エラーが発生したかどうかを確認します。
例:
[HttpPost]
public ActionResult Edit(int id, FormCollection form)
{
var model=_db.Widgets.Find(id);
//make sure that the model exists in our database
if (model==null)
{
return HttpNotFoundResult();
}
if (TryUpdateModel(model,new string[] {"Property1","Property2"}))
{
_db.SaveChanges();
return RedirectToAction("Index"); //or wherever you want to go
}
else //TryUpdateModel returns false on a validation error
{
//return to the view and give the user a chance to fix the validation error(s)
return View("Edit",model);
}
}