捕获异常之后,判断是否为DbEntityValidationException
var e = exception as DbEntityValidationException; if (e != null) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type "{0}" in state "{1}" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: "{0}", Value: "{1}", Error: "{2}"", ve.PropertyName, eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName), ve.ErrorMessage); } } }