public static bool IsInvalidObjectNameError( this EntityCommandExecutionException exception) { const int InvalidObjectName = 208; var sqlException = exception.InnerException as SqlException; if (sqlException == null) { return(false); } return(sqlException.Errors.Cast <SqlError>().Any( error => error.Number == InvalidObjectName)); }
/// <summary> /// Checks whether the inner exception indicates a deadlock error /// </summary> /// <param name="exception">The exception wrapper</param> /// <returns></returns> public static bool IsDeadlockException(this EntityCommandExecutionException exception) { var sqlException = exception?.InnerException as SqlException; if (sqlException == null) { sqlException = exception?.InnerException?.InnerException as SqlException; } if (sqlException == null) { return(false); } return(sqlException.IsDeadlockException()); }
private static string[] GenerateSqlErrorMessage(EntityCommandExecutionException exeception) { var ex = (SqlException)exeception.InnerException; String[] errorMessages = new string[ex.Errors.Count]; for (int i = 0; i < ex.Errors.Count; i++) { errorMessages[i] = "Index #" + i + "\n" + "Message: " + ex.Errors[i].Message + "\n" + "LineNumber: " + ex.Errors[i].LineNumber + "\n" + "Number: " + ex.Errors[i].Number + "\n" + "Source: " + ex.Errors[i].Source + "\n" + "Procedure: " + ex.Errors[i].Procedure + "\n"; } return errorMessages; }