/// <summary>
 /// Resets the command timeout. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 public void ResetCommandTimeout()
 {
     InnerSqlCommand.ResetCommandTimeout();
 }
 /// <summary>
 /// Creates a prepared (or compiled) version of the command on the data source. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 public override void Prepare()
 {
     InnerSqlCommand.Prepare();
 }
 /// <summary>
 /// Attempts to cancels the execution of a <see cref="T:System.Data.SqlClient.SqlCommand" />.
 /// </summary>
 public override void Cancel()
 {
     InnerSqlCommand.Cancel();
 }
 /// <summary>
 /// Ends the execute non query. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="asyncResult">The asynchronous result.</param>
 /// <returns>The number of rows affected (the same behavior as System.Data.SqlClient.SqlCommand.ExecuteNonQuery()).</returns>
 public int EndExecuteNonQuery(IAsyncResult asyncResult)
 {
     return(InnerSqlCommand.EndExecuteNonQuery(asyncResult));
 }
 /// <summary>
 /// Begins the execute reader. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="behavior">The behavior.</param>
 /// <returns>An System.IAsyncResult that can be used to poll or wait for results, or both;</returns>
 public IAsyncResult BeginExecuteReader(CommandBehavior behavior)
 {
     return(InnerSqlCommand.BeginExecuteReader(behavior));
 }
 /// <summary>
 /// Begins the execute XML reader. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>An System.IAsyncResult that can be used to poll or wait for results, or both;</returns>
 public IAsyncResult BeginExecuteXmlReader()
 {
     return(InnerSqlCommand.BeginExecuteXmlReader());
 }
 /// <summary>
 /// Executes the reader asynchronous. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="behavior">The behavior.</param>
 /// <returns>A task representing the asynchronous operation.</returns>
 public new Task <SqlDataReader> ExecuteReaderAsync(CommandBehavior behavior)
 {
     return(InterceptAsync(() => InnerSqlCommand.ExecuteReaderAsync(behavior)));
 }
 /// <summary>
 /// Begins the execute non query. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>An System.IAsyncResult that can be used to poll or wait for results, or both;</returns>
 public IAsyncResult BeginExecuteNonQuery()
 {
     return(InnerSqlCommand.BeginExecuteNonQuery());
 }
 /// <summary>
 /// Executes the reader. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="behavior">The behavior.</param>
 /// <returns>A System.Data.SqlClient.SqlDataReader object.</returns>
 public new SqlDataReader ExecuteReader(CommandBehavior behavior)
 {
     return(Intercept(() => InnerSqlCommand.ExecuteReader(behavior)));
 }
 /// <summary>
 /// Executes the reader asynchronous. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>A task representing the asynchronous operation.</returns>
 public new Task <SqlDataReader> ExecuteReaderAsync()
 {
     return(InterceptAsync(() => InnerSqlCommand.ExecuteReaderAsync()));
 }
 /// <summary>
 /// Executes the reader. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>A System.Data.SqlClient.SqlDataReader object.</returns>
 public new SqlDataReader ExecuteReader()
 {
     return(Intercept(() => InnerSqlCommand.ExecuteReader()));
 }
 /// <summary>
 /// This is the asynchronous version of <see cref="M:System.Data.Common.DbCommand.ExecuteNonQuery" />. Providers should override with an appropriate implementation.
 /// The cancellation token may optionally be ignored.The default implementation invokes the synchronous <see cref="M:System.Data.Common.DbCommand.ExecuteNonQuery" /> method and
 /// returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token.
 /// Exceptions thrown by <see cref="M:System.Data.Common.DbCommand.ExecuteNonQuery" /> will be communicated via the returned Task Exception property.Do not invoke other methods
 /// and properties of the DbCommand object until the returned Task is complete.
 /// Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="cancellationToken">The token to monitor for cancellation requests.</param>
 /// <returns>
 /// A task representing the asynchronous operation.
 /// </returns>
 public override Task <int> ExecuteNonQueryAsync(CancellationToken cancellationToken)
 {
     return(InterceptAsync(() => InnerSqlCommand.ExecuteNonQueryAsync(cancellationToken)));
 }
 /// <summary>
 /// Executes a SQL statement against a connection object. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>
 /// The number of rows affected.
 /// </returns>
 public override int ExecuteNonQuery()
 {
     return(Intercept(() => InnerSqlCommand.ExecuteNonQuery()));
 }
 /// <summary>
 /// Creates a new instance of a <see cref="T:System.Data.Common.DbParameter" /> object. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>
 /// A <see cref="T:System.Data.Common.DbParameter" /> object.
 /// </returns>
 protected override DbParameter CreateDbParameter()
 {
     return(InnerSqlCommand.CreateParameter());
 }
 /// <summary>
 /// Executes the reader asynchronous. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="behavior">The behavior.</param>
 /// <param name="cancellationToken">The cancellation token.</param>
 /// <returns>A task representing the asynchronous operation.</returns>
 public new Task <SqlDataReader> ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
 {
     return(InterceptAsync(() => InnerSqlCommand.ExecuteReaderAsync(behavior, cancellationToken)));
 }
 /// <summary>
 /// Executes the command text against the connection. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="behavior">An instance of <see cref="T:System.Data.CommandBehavior" />.</param>
 /// <returns>
 /// A task representing the operation.
 /// </returns>
 protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
 {
     return(Intercept(() => InnerSqlCommand.ExecuteReader(behavior)));
 }
 /// <summary>
 /// Executes the query and returns the first column of the first row in the result set returned by the query. All other columns and rows are ignored.
 /// Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>
 /// The first column of the first row in the result set.
 /// </returns>
 public override object ExecuteScalar()
 {
     return(Intercept(() => InnerSqlCommand.ExecuteScalar()));
 }
 public IAsyncResult BeginExecuteNonQuery(AsyncCallback callback, object stateObject)
 {
     return(InnerSqlCommand.BeginExecuteNonQuery(callback, stateObject));
 }
 /// <summary>
 /// This is the asynchronous version of <see cref="M:System.Data.Common.DbCommand.ExecuteScalar" />. Providers should override with an appropriate implementation.
 /// The cancellation token may optionally be ignored.The default implementation invokes the synchronous <see cref="M:System.Data.Common.DbCommand.ExecuteScalar" /> method and returns
 /// a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token. Exceptions thrown by ExecuteScalar will be
 /// communicated via the returned Task Exception property.Do not invoke other methods and properties of the DbCommand object until the returned Task is complete.
 /// Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="cancellationToken">The token to monitor for cancellation requests.</param>
 /// <returns>
 /// A task representing the asynchronous operation.
 /// </returns>
 public override Task <object> ExecuteScalarAsync(CancellationToken cancellationToken)
 {
     return(InterceptAsync(() => InnerSqlCommand.ExecuteScalarAsync(cancellationToken)));
 }
 public IAsyncResult BeginExecuteReader(AsyncCallback callback, object stateObject, CommandBehavior behavior)
 {
     return(InnerSqlCommand.BeginExecuteReader(callback, stateObject, behavior));
 }
 /// <summary>
 /// Executes the XML reader. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>An System.Xml.XmlReader object.</returns>
 public XmlReader ExecuteXmlReader()
 {
     return(Intercept(() => InnerSqlCommand.ExecuteXmlReader()));
 }
 public IAsyncResult BeginExecuteXmlReader(AsyncCallback callback, object stateObject)
 {
     return(InnerSqlCommand.BeginExecuteXmlReader(callback, stateObject));
 }
 /// <summary>
 /// Executes the XML reader asynchronous. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>A task representing the asynchronous operation.</returns>
 public Task <XmlReader> ExecuteXmlReaderAsync()
 {
     return(InterceptAsync(() => InnerSqlCommand.ExecuteXmlReaderAsync()));
 }
 /// <summary>
 /// Creates the parameter. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <returns>A System.Data.SqlClient.SqlParameter object.</returns>
 public new SqlParameter CreateParameter()
 {
     return(InnerSqlCommand.CreateParameter());
 }
 /// <summary>
 /// Executes the XML reader asynchronous. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="cancellationToken">The cancellation token.</param>
 /// <returns>A task representing the asynchronous operation.</returns>
 public Task <XmlReader> ExecuteXmlReaderAsync(CancellationToken cancellationToken)
 {
     return(InterceptAsync(() => InnerSqlCommand.ExecuteXmlReaderAsync(cancellationToken)));
 }
 /// <summary>
 /// Ends the execute reader. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="asyncResult">The asynchronous result.</param>
 /// <returns>A System.Data.SqlClient.SqlDataReader object that can be used to retrieve the requested rows.</returns>
 public SqlDataReader EndExecuteReader(IAsyncResult asyncResult)
 {
     return(InnerSqlCommand.EndExecuteReader(asyncResult));
 }
 /// <summary>
 /// Ends the execute XML reader. Wrapper of the same function in <see cref="T:System.Data.SqlClient.SqlCommand"/>.
 /// </summary>
 /// <param name="asyncResult">The asynchronous result.</param>
 /// <returns>An System.Xml.XmlReader object that can be used to fetch the resulting XML data.</returns>
 public XmlReader EndExecuteXmlReader(IAsyncResult asyncResult)
 {
     return(InnerSqlCommand.EndExecuteXmlReader(asyncResult));
 }