发生System.Data.Entity.Validation.DbEntityValidationException这个异常的时候,如果没有用特定的异常类去捕捉,是看不到具体信息的。
通常都是用System.Data.Entity.Validation.DbEntityValidationException去捕捉:
try
{
// 写数据库
}
catch (DbEntityValidationException dbEx )
{ }
这个时候再去看就可以看到了。
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));