發生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));