发生System.Data.Entity.Validation.DbEntityValidationException这个异常的时候,如果没有用特定的异常类去捕捉,是看不到具体信息的。

MVC中发生System.Data.Entity.Validation.DbEntityValidationException验证异常的解决方法-LMLPHP

通常都是用System.Data.Entity.Validation.DbEntityValidationException去捕捉:

try
{
// 写数据库
}
catch (DbEntityValidationException dbEx )
{ }

这个时候再去看就可以看到了。

MVC中发生System.Data.Entity.Validation.DbEntityValidationException验证异常的解决方法-LMLPHP

string result = dbEX.EntityValidationErrors.SelectMany(item => item.ValidationErrors).Aggregate(result, (current, item2) => current + string.Format("{0}:{1}\r\n", item2.PropertyName, item2.ErrorMessage));

利用上面这段代码可以取得异常的字符串表示形式.

result = exception.EntityValidationErrors.SelectMany(item => item.ValidationErrors).Aggregate(result, (current, item2) => current + string.Format("{0}:{1}\r\n", item2.PropertyName, item2.ErrorMessage));
04-16 18:11