public override async Task <int> ExecuteNonQueryAsync(CancellationToken cancellationToken)
        {
            int num;
            var commandId = Guid.NewGuid();

            using (var trace = new LocalTrace(InnerCommand))
            {
                try
                {
                    num = await InnerCommand.ExecuteNonQueryAsync(cancellationToken);
                }
                catch (Exception exception)
                {
                    trace.OnErrorExecute(exception);
                    throw;
                }
            }

            return(num);
        }
        public override int ExecuteNonQuery()
        {
            int num;
            var commandId = Guid.NewGuid();

            using (var trace = new LocalTrace(InnerCommand))
            {
                try
                {
                    num = InnerCommand.ExecuteNonQuery();
                }
                catch (Exception exception)
                {
                    trace.OnErrorExecute(exception);
                    throw;
                }
            }

            return(num);
        }
        public override object ExecuteScalar()
        {
            object result;
            var    commandId = Guid.NewGuid();

            using (var trace = new LocalTrace(InnerCommand))
            {
                try
                {
                    result = InnerCommand.ExecuteScalar();
                }
                catch (Exception exception)
                {
                    trace.OnErrorExecute(exception);
                    throw;
                }
            }


            return(result);
        }