我正在尝试更新数据库中的数据。我尝试更新数据库中的Name
和Order
。但是,我无法更新我的数据库。错误是
用户代码未处理DbEntityValidationException。
我该如何解决这个问题?
以下代码是我的控制器
public ActionResult Update(Person[] People)
{
for (int i = 0; i < People.Length; i++)
{
Person person = db.Persons.Find(People[i].ID);
person.Order = People[i].Order;
person.Name = People[i].Name;
db.Entry(person).State = EntityState.Modified;
db.SaveChanges();
}
return Json(new { JsonResult = "NICE" });
}
答案 0 :(得分:2)
正如我在评论中所说,这个异常更像是一个包装器,你可以在你的错误处理程序中循环它,拉出所有的验证错误
像这样的东西
var sb = new StringBuilder();
DbEntityValidationException validationException = (DbEntityValidationException)exception;
foreach (var e in validationException.EntityValidationErrors)
{
foreach (var err in e.ValidationErrors)
{
sb.AppendLine($"Validation Error:{err.ErrorMessage}, Property: {err.PropertyName}");
}
}