DbTransactionExtensions

Classes > DataProvider > DbTransactionExtensions

Static extension methods for IDbTransaction following FP patterns

public static class DbTransactionExtensions

Methods

Query<T>(IDbTransaction, string, IEnumerable<IDataParameter>?, Func<IDataReader, T>?)

public static Result<IReadOnlyList<T>, SqlError> Query<T>(this IDbTransaction transaction, string sql, IEnumerable<IDataParameter>? parameters = null, Func<IDataReader, T>? mapper = null)

Execute a query within a transaction and return results

Parameters:

Name Type Description
transaction IDbTransaction The database transaction
sql String The SQL query
parameters IDataParameter> Optional parameters
mapper IDataReader,<T>> Function to map from IDataReader to T

Returns: SqlError> - Result with list of T or error

Execute(IDbTransaction, string, IEnumerable<IDataParameter>?)

public static Result<int, SqlError> Execute(this IDbTransaction transaction, string sql, IEnumerable<IDataParameter>? parameters = null)

Execute a non-query command within a transaction

Parameters:

Name Type Description
transaction IDbTransaction The database transaction
sql String The SQL command
parameters IDataParameter> Optional parameters

Returns: SqlError> - Result with rows affected or error

Scalar<T>(IDbTransaction, string, IEnumerable<IDataParameter>?)

public static Result<T?, SqlError> Scalar<T>(this IDbTransaction transaction, string sql, IEnumerable<IDataParameter>? parameters = null)

Execute a scalar command within a transaction

Parameters:

Name Type Description
transaction IDbTransaction The database transaction
sql String The SQL command
parameters IDataParameter> Optional parameters

Returns: SqlError> - Result with scalar value or error