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.. }
public void CommandExecuted(DbTracingContext context) { Console.WriteLine("\nExecuted\n " + context.Command.CommandText); // or Trace.WriteLine("\nExecuted\n " + context.Command.CommandText); }
public void CommandFailed(DbTracingContext context) { Console.WriteLine("\nFAILED\n " + context.Command.CommandText); // or Trace.WriteLine("\nFAILED\n " + context.Command.CommandText); }