public void CommandExecuted(DbTracingContext context)
        {
            var commandText = ParseParameters(context);

            commandText = "Command - Timespan: " + context.Duration + Environment.NewLine + Environment.NewLine + commandText;

            var result = context.Result ?? "None";

            LogSql(commandText, result.ToString());
        }
        private string ParseParameters(DbTracingContext context)
        {
            var commandText = context.Command.CommandText;

            if (context.Command.Parameters.Count > 0)
            {
                for (var index = 0; index < context.Command.Parameters.Count; index++)
                {
                    var parameter      = context.Command.Parameters[index];
                    var parameterName  = parameter.ParameterName.StartsWith("@") ? parameter.ParameterName : "@" + parameter.ParameterName;
                    var parameterValue = String.Empty;

                    switch (parameter.DbType)
                    {
                    case DbType.Boolean:
                        parameterValue = parameter.Value.ToString() != "0" ? "true" : "false";
                        break;

                    case DbType.AnsiString:
                    case DbType.AnsiStringFixedLength:
                    case DbType.Date:
                    case DbType.DateTime2:
                    case DbType.DateTimeOffset:
                    case DbType.Guid:
                    case DbType.Object:
                    case DbType.DateTime:
                    case DbType.String:
                    case DbType.StringFixedLength:
                    case DbType.Time:
                    case DbType.Xml:
                        parameterValue = "'" + parameter.Value + "'";
                        break;

                    default:
                        parameterValue = parameter.Value.ToString();
                        break;
                    }
                    commandText = commandText.Replace(parameterName, parameterValue);
                }
            }

            return(commandText);
        }
 public void ReaderFinished(DbTracingContext context)
 {
     //implementation if needed here..
 }
 public void CommandFinished(DbTracingContext context)
 {
     //implementation if needed here..
 }
 public void CommandExecuting(DbTracingContext context)
 {
     //implementation if needed here..
 }
Exemplo n.º 6
0
 public void CommandExecuted(DbTracingContext context)
 {
     Console.WriteLine("\nExecuted\n " + context.Command.CommandText);
     // or Trace.WriteLine("\nExecuted\n " + context.Command.CommandText);
 }
Exemplo n.º 7
0
 public void CommandFailed(DbTracingContext context)
 {
     Console.WriteLine("\nFAILED\n " + context.Command.CommandText);
     // or Trace.WriteLine("\nFAILED\n " + context.Command.CommandText);
 }