Class SqlRedbConnection

Namespace: redb.MSSql.Data
Assembly: redb.MSSql.dll

MS SQL Server implementation of IRedbConnection using Microsoft.Data.SqlClient.
Provides pure ADO.NET database access with automatic transaction management.

public class SqlRedbConnection : IRedbConnection, IAsyncDisposable, IDisposable

Inheritance

ObjectSqlRedbConnection

Implements

Properties

ConnectionString

Connection string.

public string ConnectionString { get; }

CurrentTransaction

Current active transaction.

public IRedbTransaction? CurrentTransaction { get; }

Methods

BeginTransactionAsync()

Begin new transaction.

public Task<IRedbTransaction> BeginTransactionAsync()

Dispose()

Synchronous dispose for DI container compatibility.

public void Dispose()

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or

public ValueTask DisposeAsync()

ExecuteAsync(string, params object[])

Execute SQL command (INSERT, UPDATE, DELETE).

public Task<int> ExecuteAsync(string sql, params object[] parameters)

ExecuteAtomicAsync(Func<Task>)

Execute operations atomically (SaveChanges replacement).

public Task ExecuteAtomicAsync(Func<Task> operations)

ExecuteAtomicAsync<T>(Func<Task<T>>)

Execute operations atomically and return result.

public Task<T> ExecuteAtomicAsync<T>(Func<Task<T>> operations)

ExecuteJsonAsync(string, params object[])

Execute SQL returning JSON (for MSSQL functions returning JSON).

public Task<string?> ExecuteJsonAsync(string sql, params object[] parameters)

ExecuteJsonListAsync(string, params object[])

Execute SQL returning multiple JSON rows.

public Task<List<string>> ExecuteJsonListAsync(string sql, params object[] parameters)

ExecuteScalarAsync<T>(string, params object[])

Execute SQL query and return scalar value.

public Task<T?> ExecuteScalarAsync<T>(string sql, params object[] parameters)

GetUnderlyingConnectionAsync()

Get underlying connection (for bulk operations).

public Task<DbConnection> GetUnderlyingConnectionAsync()

QueryAsync<T>(string, params object[])

Execute SQL query and map results to list of objects.

public Task<List<T>> QueryAsync<T>(string sql, params object[] parameters) where T : new()

QueryFirstOrDefaultAsync<T>(string, params object[])

Execute SQL query and return first result.

public Task<T?> QueryFirstOrDefaultAsync<T>(string sql, params object[] parameters) where T : class, new()

QueryScalarListAsync<T>(string, params object[])

Execute SQL query and return list of scalar values (first column only).

public Task<List<T>> QueryScalarListAsync<T>(string sql, params object[] parameters)

Constructors

SqlRedbConnection(string)

Create connection from connection string.