1

すべての検証エラーを取得したい。

DbEntityValidationException でエラーを取得できますか?

DbEntityValidationException ex = exception as DbEntityValidationException
4

1 に答える 1

1
public static string GetAllExceptionTree(Exception exception)
    {
        if (exception is DbEntityValidationException)
        {
            StringBuilder validationErrors = new StringBuilder();
            DbEntityValidationException ex = exception as DbEntityValidationException;
            foreach (var error in ex.EntityValidationErrors)
                foreach (var err in error.ValidationErrors)
                    validationErrors.Append(String.Format("{0}<br/>", err.ErrorMessage));

            return validationErrors.ToString();
        }

        StringBuilder sb = new StringBuilder();
        do
        {
            if (sb.Length != 0)
                sb.Append("...");
            sb.Append(exception.Message);
            exception = exception.InnerException;
        } while (exception != null);

        return sb.ToString();
    }
于 2015-05-27T06:39:30.147 に答える