Class DataSession
- Namespace
- FluentCommand
- Assembly
- FluentCommand.dll
A fluent class for a data session.
public class DataSession : DisposableBase, IDataSession, IDisposable, IAsyncDisposable
- Inheritance
-
DataSession
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
DataSession(IDataConfiguration)
Initializes a new instance of the DataSession class.
public DataSession(IDataConfiguration dataConfiguration)
Parameters
dataConfiguration
IDataConfigurationThe configuration for the session
Exceptions
- ArgumentNullException
dataConfiguration
is null
DataSession(DbConnection, bool, IDataCache, IQueryGenerator, IDataQueryLogger)
Initializes a new instance of the DataSession class.
public DataSession(DbConnection connection, bool disposeConnection = true, IDataCache cache = null, IQueryGenerator queryGenerator = null, IDataQueryLogger logger = null)
Parameters
connection
DbConnectionThe DbConnection to use for the session.
disposeConnection
boolif set to
true
dispose connection with this session.cache
IDataCacheThe IDataCache used to cached results of queries.
queryGenerator
IQueryGeneratorThe query generator provider.
logger
IDataQueryLoggerThe logger delegate for writing log messages.
Exceptions
- ArgumentNullException
connection
is null- ArgumentException
Invalid connection string on
connection
instance.
DataSession(DbTransaction, bool, IDataCache, IQueryGenerator, IDataQueryLogger)
Initializes a new instance of the DataSession class.
public DataSession(DbTransaction transaction, bool disposeConnection = false, IDataCache cache = null, IQueryGenerator queryGenerator = null, IDataQueryLogger logger = null)
Parameters
transaction
DbTransactionThe DbTransaction to use for the session.
disposeConnection
boolif set to
true
dispose connection with this session.cache
IDataCacheThe IDataCache used to cached results of queries.
queryGenerator
IQueryGeneratorThe query generator provider.
logger
IDataQueryLoggerThe logger delegate for writing log messages.
Exceptions
- ArgumentNullException
transaction
is null- ArgumentException
Invalid connection string on
transaction
instance.
Properties
Cache
Gets the underlying IDataCache for the session.
public IDataCache Cache { get; }
Property Value
Connection
Gets the underlying DbConnection for the session.
public DbConnection Connection { get; }
Property Value
QueryGenerator
Gets the query generator provider.
public IQueryGenerator QueryGenerator { get; }
Property Value
- IQueryGenerator
The query generator provider.
QueryLogger
Gets the data command query logger.
public IDataQueryLogger QueryLogger { get; }
Property Value
- IDataQueryLogger
The data command query logger.
Transaction
Gets the underlying DbTransaction for the session.
public DbTransaction Transaction { get; }
Property Value
Methods
BeginTransaction(IsolationLevel)
Starts a database transaction with the specified isolation level.
public DbTransaction BeginTransaction(IsolationLevel isolationLevel = IsolationLevel.Unspecified)
Parameters
isolationLevel
IsolationLevelSpecifies the isolation level for the transaction.
Returns
- DbTransaction
A DbTransaction representing the new transaction.
BeginTransactionAsync(IsolationLevel, CancellationToken)
Starts a database transaction with the specified isolation level.
public Task<DbTransaction> BeginTransactionAsync(IsolationLevel isolationLevel = IsolationLevel.Unspecified, CancellationToken cancellationToken = default)
Parameters
isolationLevel
IsolationLevelSpecifies the isolation level for the transaction.
cancellationToken
CancellationTokenThe cancellation instruction.
Returns
- Task<DbTransaction>
A DbTransaction representing the new transaction.
DisposeManagedResources()
Disposes the managed resources.
protected override void DisposeManagedResources()
DisposeResourcesAsync()
Disposes the managed resources.
protected override ValueTask DisposeResourcesAsync()
Returns
EnsureConnection()
Ensures the connection is open.
public void EnsureConnection()
Exceptions
- InvalidOperationException
Failed to open connection
EnsureConnectionAsync(CancellationToken)
Ensures the connection is open asynchronous.
public Task EnsureConnectionAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationTokenThe cancellation instruction.
Returns
- Task
A task representing the asynchronous operation.
Exceptions
- InvalidOperationException
Failed to open connection
ReleaseConnection()
Releases the connection.
public void ReleaseConnection()
ReleaseConnectionAsync()
Releases the connection.
public Task ReleaseConnectionAsync()
Returns
Sql(string)
Starts a data command with the specified SQL.
public IDataCommand Sql(string sql)
Parameters
sql
stringThe SQL statement.
Returns
- IDataCommand
A fluent interface to a data command.
StoredProcedure(string)
Starts a data command with the specified stored procedure name.
public IDataCommand StoredProcedure(string storedProcedureName)
Parameters
storedProcedureName
stringName of the stored procedure.
Returns
- IDataCommand
A fluent interface to a data command.