我在我的应用程序中实现了一个服务层,例如: 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 中的问题是:如何实现实体的更新?
在存储库中,我有以下更新方法:
public bool UpdateMovie(Film movieToUpdate)
{
try
{
_db.SubmitChanges();
return true;
}
catch
{
return false;
}
}
然后服务调用存储库。但是在表单中所做的更改不会“发送”到模型,因此实体不会被新值更新。
我可以在 Controller 中调用“UpdateModel”,但是我还必须在 Service 中调用 Validate。但是验证逻辑不再在服务中而不是在控制器中。
我希望你能理解我的问题。