/// <summary> /// Deletes an existing data from the database in asynchronous way. /// </summary> /// <param name="connection">The connection object to be used.</param> /// <param name="tableName">The name of the target table to be used.</param> /// <param name="where">The query expression to be used.</param> /// <param name="commandTimeout">The command timeout in seconds to be used.</param> /// <param name="transaction">The transaction to be used.</param> /// <param name="trace">The trace object to be used.</param> /// <param name="statementBuilder">The statement builder object to be used.</param> /// <returns>The number of rows affected by the execution.</returns> internal static Task <int> DeleteAsyncInternal(this IDbConnection connection, string tableName, QueryGroup where, int?commandTimeout = null, IDbTransaction transaction = null, ITrace trace = null, IStatementBuilder statementBuilder = null) { // Variables var request = new DeleteRequest(tableName, connection, transaction, where, statementBuilder); var param = (object)null; // Converts to propery mapped object if (where != null) { param = QueryGroup.AsMappedObject(new[] { where.MapTo(null) }); } // Return the result return(DeleteAsyncInternalBase(connection: connection, request: request, param: param, commandTimeout: commandTimeout, transaction: transaction, trace: trace)); }
/// <summary> /// Deletes an existing data from the database. /// </summary> /// <typeparam name="TEntity">The type of the data entity object.</typeparam> /// <param name="connection">The connection object to be used.</param> /// <param name="where">The query expression to be used.</param> /// <param name="commandTimeout">The command timeout in seconds to be used.</param> /// <param name="transaction">The transaction to be used.</param> /// <param name="trace">The trace object to be used.</param> /// <param name="statementBuilder">The statement builder object to be used.</param> /// <returns>The number of rows affected by the execution.</returns> internal static int DeleteInternal <TEntity>(this IDbConnection connection, QueryGroup where, int?commandTimeout = null, IDbTransaction transaction = null, ITrace trace = null, IStatementBuilder statementBuilder = null) where TEntity : class { // Variables var request = new DeleteRequest(typeof(TEntity), connection, transaction, where, statementBuilder); var param = (object)null; // Converts to propery mapped object if (where != null) { param = QueryGroup.AsMappedObject(new[] { where.MapTo <TEntity>() }); } // Return the result return(DeleteInternalBase(connection: connection, request: request, param: param, commandTimeout: commandTimeout, transaction: transaction, trace: trace)); }