Esempio n. 1
0
        ///<inheritdoc/>
        public PerformanceCommandReport Analyze(DbCommand command, TimeSpan executionTime)
        {
            var regex =
                new Regex(UNPARAMETRIZED_WHERE_CLAUSE_REGEX_PATTERN, RegexOptions.Compiled | RegexOptions.Multiline);

            foreach (Match m in regex.Matches(command.CommandText))
            {
                if (m.Success)
                {
                    var value      = m.Groups[1].Value;
                    var columnName = m.Groups[2].Value;

                    if (!String.IsNullOrWhiteSpace(value)
                        &&
                        !String.IsNullOrWhiteSpace(columnName)
                        &&
                        value.IndexOf('@') == -1)
                    {
                        var report = new PerformanceCommandReport(command,
                                                                  Strings.UnparametrizedWhereClause(command.CommandText),
                                                                  PerformanceCommandReportCategory.Warning);

                        return(report);
                    }
                }
            }

            return(null);
        }
Esempio n. 2
0
        ///<inheritdoc/>
        public PerformanceCommandReport Analyze(DbCommand command, TimeSpan executionTime)
        {
            var regex = new Regex(UNPARAMETRIZED_SKIP_TAKE_PATTERN, RegexOptions.Compiled | RegexOptions.Multiline);
            var match = regex.Match(command.CommandText);

            if (match.Success)
            {
                var report = new PerformanceCommandReport(command,
                                                          Strings.UnparametrizedSkipOrTake(command.CommandText),
                                                          PerformanceCommandReportCategory.Warning);

                return(report);
            }

            return(null);
        }