对于DbEntityValidationException,如何获取有问题的属性的输入值?

时间:2019-07-10 15:31:57

标签: c# entity-framework reflection

我正在按以下方式处理DbEntityValidationException

private static string HandleErrorMessages(DbEntityValidationException dbEx)
{
    var msg = new StringBuilder();

    foreach (var validationError in dbEx.EntityValidationErrors.SelectMany(validationErrors => validationErrors.ValidationErrors))
        msg.AppendFormat("Property: {0} Error: {1}",
            validationError.PropertyName, validationError.ErrorMessage).AppendLine();

    return msg.ToString();
}

我收到错误消息:

  

属性:电话错误:电话字段必须是最大长度为15的字符串。

现在,我想知道Phone的值是什么。如何使用反射来获取有问题的输入的值?例如,我想看看:

  

属性:电话错误:电话字段必须是最大长度为15的字符串。用户输入了“ asdfasdfasdfasdfasdf”。

(我知道我需要修复输入验证,但我希望在后端进行这种回退。)

0 个答案:

没有答案