Skip to content

Instantly share code, notes, and snippets.

@mahizsas
Created April 5, 2013 07:05
Show Gist options
  • Save mahizsas/5317215 to your computer and use it in GitHub Desktop.
Save mahizsas/5317215 to your computer and use it in GitHub Desktop.
Flat DbEntityValidationException errors
public override int SaveChanges()
{
try
{
return base.SaveChanges();
}
catch (DbEntityValidationException ex)
{
// Retrieve the error messages as a list of strings.
var errorMessages = ex.EntityValidationErrors
.SelectMany(x => x.ValidationErrors)
.Select(x => x.ErrorMessage);
// Join the list to a single string.
var fullErrorMessage = string.Join("; ", errorMessages);
// Combine the original exception message with the new one.
var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
// Throw a new DbEntityValidationException with the improved exception message.
throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment