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();
            }
        }
        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();
            }
        }