コード例 #1
0
        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);
        }