【问题标题】:Update data in database [duplicate]更新数据库中的数据[重复]
【发布时间】:2017-11-28 10:19:37
【问题描述】:

我正在尝试更新数据库中的数据。我试图更新数据库中的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" });
}

【问题讨论】:

  • 发生了什么错误?
  • 错误是什么?
  • 错误告诉你它为什么不工作。如果您不理解该错误,请阅读 How to Ask 并进行研究,然后阅读 edit 您的问题以包括错误以及您从研究中学到的内容。
  • 您需要查看内部异常以查看问题所在,该异常更像是一个包装器。
  • 标记为重复,也差不多。

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


【解决方案1】:

正如我在评论中所说,此异常更像是一个包装器,您可以在错误处理程序中循环遍历它,取出所有验证错误

类似的东西

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

【讨论】:

    猜你喜欢
    • 2020-12-06
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多