internal static Dictionary <string, string> GetErrors(System.Data.Entity.DbContext db) { Dictionary <string, string> datas = new Dictionary <string, string>(); IEnumerable <DbEntityValidationResult> enumerable = from e in db.GetValidationErrors() select e; using (IEnumerator <DbEntityValidationResult> enumerator = enumerable.GetEnumerator()) { while (enumerator.MoveNext()) { Action <DbValidationError> action = null; DbEntityValidationResult e = enumerator.Current; if (action == null) { action = delegate(DbValidationError ee) { datas.Set <string, string>(string.Format("{0} {1}", e.Entry.Entity.GetType(), ee.PropertyName), ee.ErrorMessage); }; } (from ee in e.ValidationErrors select ee).ToList <DbValidationError>().ForEach(action); } } return(datas); }