更新数据库中的数据

时间:2017-11-28 10:19:37

标签: c# asp.net-mvc entity-framework

我正在尝试更新数据库中的数据。我尝试更新数据库中的NameOrder。但是,我无法更新我的数据库。错误是

  

用户代码未处理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" });
}

1 个答案:

答案 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}");
    }
}