See descriptive Enitity Validation Errors in exception message
By default, Entity Validation Errors are not described in the DbEntityValidationException that is thrown.
If you want those displayed, here is how:
Locate your DbContext object in your project. Overload the SaveChanges() message as follows:
public override int SaveChanges() { try { return base.SaveChanges(); } catch (DbEntityValidationException eve) { var errorMsg = new StringBuilder(eve.Message + Environment.NewLine); foreach (var validationResult in eve.EntityValidationErrors) { foreach (var error in validationResult.ValidationErrors) { errorMsg.Append(validationResult.Entry.Entity + ": "); errorMsg.Append(error.ErrorMessage + Environment.NewLine); } } // Use the same exception type to avoid downstream bugs with code that catches this throw new DbEntityValidationException(errorMsg.ToString(), eve.EntityValidationErrors, eve); } }
I can see how the decision to not include them by default is good. Doing so could be an information disclosure security issue. However, if wrapped in a WCF service where the the entities are used as the DataContract or POCO objects, then there really isn’t much information additional information provided than what is in the wsdl.