//TODO:: Figure out whether we want to log these, minimally to the debug output or if we want throw a hard exception internal static void SubmitResult(ProfilerItem sqlProfileItem) { if (!ConfigurationSettings.ProcessResultsSynchronously) { Task.Factory.StartNew(() => { try { ProcessResult(sqlProfileItem); } catch { } }); } else { try { ProcessResult(sqlProfileItem); } catch { } } }
public override int ExecuteNonQuery() { if (!Profiler.IsProfilingEnabled) return _cmd.ExecuteNonQuery(); ProfilerItem sqlTiming = null; try { sqlTiming = new ProfilerItem(this, ExecuteType.NonQuery); var result = _cmd.ExecuteNonQuery(); return result; } finally { if (sqlTiming != null) sqlTiming.ExecutionComplete(); } }
public override object ExecuteScalar() { if (!Profiler.IsProfilingEnabled) return _cmd.ExecuteScalar(); ProfilerItem sqlTiming = null; try { sqlTiming = new ProfilerItem(this, ExecuteType.Scalar); return _cmd.ExecuteScalar(); } finally { if (sqlTiming != null) sqlTiming.ExecutionComplete(); } }
protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior) { if (!Profiler.IsProfilingEnabled) return _cmd.ExecuteReader(behavior); ProfilerItem sqlTiming = null; try { sqlTiming = new ProfilerItem(this, ExecuteType.Reader); var result = _cmd.ExecuteReader(behavior); return new ProfilableDbDataReader(result, _conn, sqlTiming); } finally { if (sqlTiming != null) sqlTiming.FirstFetchComplete(); } }