我正在学习MVC3和EF4.1。我目前正在使用新的 TT4 生成器试验数据库优先 EF 以生成精益数据类。我生成了一个 CRUD 控制器,并遇到了如何在视图中最好地显示数据库约束消息的问题。
到目前为止,我的代码是:
[HttpPost]
public ActionResult Delete(Guid id, aspnet_Users User)
{
string errorMessage = string.Empty;
try
{
// TODO: Add delete logic here
db.Entry(User).State = System.Data.EntityState.Deleted;
db.SaveChanges();
return RedirectToAction("Index");
}
catch(Exception err)
{
return Content(err.InnerException.StackTrace);
//return View();
}
}
任何帮助非常感谢。
艾德
最简单的方法之一是添加带有异常消息的模型错误。这实质上将约束冲突视为验证错误。但是,您可能应该为用户自定义消息。
[HttpPost]
public ActionResult Delete(Guid id, aspnet_Users User)
{
try
{
// TODO: Add delete logic here
db.Entry(User).State = System.Data.EntityState.Deleted;
db.SaveChanges();
return RedirectToAction("Index");
}
catch(Exception err)
{
ModelState.AddModelError(String.Empty, err.Message);
return View(User);
}
}