| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using System.Collections.Generic;
- using System.Data.Entity.Validation;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace CD67.ModeleMVC.Entity.Internal
- {
- public class FormattedDbEntityValidationException : Exception
- {
- public FormattedDbEntityValidationException(DbEntityValidationException innerException) :
- base(null, innerException)
- {
- }
- public override string Message
- {
- get
- {
- var innerException = InnerException as DbEntityValidationException;
- if (innerException != null)
- {
- StringBuilder sb = new StringBuilder();
- sb.AppendLine();
- sb.AppendLine();
- foreach (var eve in innerException.EntityValidationErrors)
- {
- sb.AppendLine(string.Format("- Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
- eve.Entry.Entity.GetType().FullName, eve.Entry.State));
- foreach (var ve in eve.ValidationErrors)
- {
- sb.AppendLine(string.Format("-- Property: \"{0}\", Value: \"{1}\", Error: \"{2}\"",
- ve.PropertyName,
- eve.Entry.CurrentValues.GetValue<object>(ve.PropertyName),
- ve.ErrorMessage));
- }
- }
- sb.AppendLine();
- return sb.ToString();
- }
- return base.Message;
- }
- }
- }
- }
|