Entity Framework出错Validation failed for one or more entities

使用Entity Framework保存记录时出错,提示:

引用内容 引用内容
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.



详细信息中没显示是哪个字段验证出错:



Validation failed for one or more entities解决方法

try
{
    Context.SaveChanges();
}
catch (DbEntityValidationException ex)
{
    StringBuilder errors = new StringBuilder();
    IEnumerable<DbEntityValidationResult> validationResult = ex.EntityValidationErrors;
    foreach (DbEntityValidationResult result in validationResult)
    {
        ICollection<DbValidationError> validationError = result.ValidationErrors;
        foreach (DbValidationError err in validationError)
        {
            errors.Append(err.PropertyName + ":" + err.ErrorMessage + "\r\n");
        }
    }
    Console.WriteLine(errors.ToString());
    //简写
    //var validerr = ex.EntityValidationErrors.First().ValidationErrors.First();
    //Console.WriteLine(validerr.PropertyName + ":" + validerr.ErrorMessage);
}

结果显示:

引用内容 引用内容
Imsi:The field Imsi must be a string or array type with a maximum length of '20'


评论: 0 | 引用: 0 | 查看次数: 15328
发表评论
登录后再发表评论!