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