Elmah and DbEntityValidationException

I have a project with Elmah and EF4.1 Code First.

The project throws a System.Data.Entity.Validation.DbEntityValidationException , but Elmah does not provide enough details to determine which check is not running. All that is recorded in the journal:

 System.Data.Entity.Validation.DbEntityValidationException: Validation failed for one or more entities. See 'EntityValidationErrors' property for more details. 

Is there a way to make Elmah an extension and register the EntityValidationErrors property?

+4
source share
1 answer
 List<IUserFeedback> errors = new List<IUserFeedback>(); try { _dbContext.SaveChanges(); Updated(this, HasUnsavedChanges); } catch (DbEntityValidationException ex) { foreach (var x in ex.EntityValidationErrors) { foreach (var y in x.ValidationErrors) { if (!String.IsNullOrWhiteSpace(y.PropertyName)) errors.Add(new UserFeedback() { FeedbackFlags = TypeOfUserFeedbackFlags.Error, Message = String.Format("Unable to save {0} due to an issue with its \"{1}\" value. The error returned was \"{2}\"",x.Entry.Entity, y.PropertyName, y.ErrorMessage) }); else errors.Add(new UserFeedback() { FeedbackFlags = TypeOfUserFeedbackFlags.Error, Message = String.Format("Unable to save {0} due to the error \"{1}\"", x.Entry, y.ErrorMessage) }); } } } return errors; 
+2
source

All Articles