Class RelationalTransaction
- Namespace
- Microsoft.EntityFrameworkCore.Storage
- Assembly
- Microsoft.EntityFrameworkCore.Relational.dll
A transaction against the database.
public class RelationalTransaction : IDbContextTransaction, IDisposable, IAsyncDisposable, IInfrastructure<DbTransaction>
- Inheritance
-
RelationalTransaction
- Implements
-
IDbContextTransactionIInfrastructure<DbTransaction>
- Inherited Members
Remarks
Instances of this class are typically obtained from Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.BeginTransaction and it is not designed to be directly constructed in your application code.
See Transactions in EF Core for more information and examples.
Constructors
RelationalTransaction(IRelationalConnection, DbTransaction, Guid, IDiagnosticsLogger<Transaction>, bool, ISqlGenerationHelper)
Initializes a new instance of the RelationalTransaction class.
public RelationalTransaction(IRelationalConnection connection, DbTransaction transaction, Guid transactionId, IDiagnosticsLogger<DbLoggerCategory.Database.Transaction> logger, bool transactionOwned, ISqlGenerationHelper sqlGenerationHelper)
Parameters
connectionIRelationalConnectionThe connection to the database.
transactionDbTransactionThe underlying DbTransaction.
transactionIdGuidThe correlation ID for the transaction.
loggerIDiagnosticsLogger<Transaction>The logger to write to.
transactionOwnedboolA value indicating whether the transaction is owned by this class (i.e. if it can be disposed when this class is disposed).
sqlGenerationHelperISqlGenerationHelperThe SQL generation helper to use.
Properties
Connection
The connection.
protected virtual IRelationalConnection Connection { get; }
Property Value
Logger
The logger.
protected virtual IDiagnosticsLogger<DbLoggerCategory.Database.Transaction> Logger { get; }
Property Value
- IDiagnosticsLogger<Transaction>
SupportsSavepoints
public virtual bool SupportsSavepoints { get; }
Property Value
TransactionId
public virtual Guid TransactionId { get; }
Property Value
Methods
ClearTransaction()
Remove the underlying transaction from the connection
protected virtual void ClearTransaction()
ClearTransactionAsync(CancellationToken)
Remove the underlying transaction from the connection
protected virtual Task ClearTransactionAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
Commit()
public virtual void Commit()
CommitAsync(CancellationToken)
public virtual Task CommitAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
CreateSavepoint(string)
public virtual void CreateSavepoint(string name)
Parameters
namestring
CreateSavepointAsync(string, CancellationToken)
public virtual Task CreateSavepointAsync(string name, CancellationToken cancellationToken = default)
Parameters
namestringcancellationTokenCancellationToken
Returns
Dispose()
public virtual void Dispose()
DisposeAsync()
public virtual ValueTask DisposeAsync()
Returns
ReleaseSavepoint(string)
public virtual void ReleaseSavepoint(string name)
Parameters
namestring
ReleaseSavepointAsync(string, CancellationToken)
public virtual Task ReleaseSavepointAsync(string name, CancellationToken cancellationToken = default)
Parameters
namestringcancellationTokenCancellationToken
Returns
Rollback()
public virtual void Rollback()
RollbackAsync(CancellationToken)
public virtual Task RollbackAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
RollbackToSavepoint(string)
public virtual void RollbackToSavepoint(string name)
Parameters
namestring
RollbackToSavepointAsync(string, CancellationToken)
public virtual Task RollbackToSavepointAsync(string name, CancellationToken cancellationToken = default)
Parameters
namestringcancellationTokenCancellationToken