このフォーラムの優れたヘルプに続いて、複数のレコード/モデルが一度にポストバックされる MVC コントローラーで、データベース内のデータを更新するのにこれが最善の方法であるかどうかを誰でも確認できますか?
[HttpPost]
public ActionResult Edit(ObjectivesEdit model)
{
if (model.Objectives != null)
{
// model will have several records posted back - so loop through each one, and update the database
foreach (var item in model.Objectives)
{
// find the database row
Objective objective = db.objectives.Find(item.ID);
// Set the database row to the posted values
objective.objective = item.objective;
objective.score = item.score;
objective.possscore = item.possscore;
objective.comments = item.comments;
}
// Save the changes to the database
db.SaveChanges();
}
return View(model);
}
おそらくより良い作業方法があると思う部分は次のとおりです。
objective.objective = item.objective;
objective.score = item.score;
objective.possscore = item.possscore;
objective.comments = item.comments;
それをより合理化されたものに置き換えることができますか、それともこれを行う方法ですか?