アプリケーションに次のようなサービス レイヤーを実装しました: http://www.asp.net/learn/mvc/tutorial-38-cs.aspx
(私はLinq2SQLを使用しています)。今、Edit ActionResult の実装に問題があります。Create (Post) ActionResult で、サービス メソッドを使用します。
if (_service.CreateMovie(movie))
{
return RedirectToAction("Details", new { id = movie.ID });
}
else
{
return View(movie);
}
大丈夫。Edit ActionResult での私の問題は次のとおりです。エンティティの更新を実装するにはどうすればよいですか?
リポジトリには、次の Update メソッドがあります。
public bool UpdateMovie(Film movieToUpdate)
{
try
{
_db.SubmitChanges();
return true;
}
catch
{
return false;
}
}
次に、サービスはリポジトリを呼び出します。ただし、フォームで行われた変更はモデルに「送信」されないため、エンティティは新しい値で更新されませんでした。
コントローラーで「UpdateModel」を呼び出すこともできますが、サービスで Validate も呼び出す必要があります。ただし、検証ロジックはコントローラーよりもサービスにありません。
私の質問を理解していただければ幸いです。