Table of Contents

Class DataContextTransaction

Namespace
LinqToDB
Assembly
linq2db.dll

Explicit data context DataContext transaction wrapper.

public class DataContextTransaction : IDisposable, IAsyncDisposable
Inheritance
object
DataContextTransaction
Implements
Extension Methods

Constructors

DataContextTransaction(DataContext)

Creates new transaction wrapper.

public DataContextTransaction(DataContext dataContext)

Parameters

dataContext DataContext

Data context.

Properties

DataContext

Gets or sets transaction's data context.

public DataContext DataContext { get; set; }

Property Value

DataContext

Methods

BeginTransaction()

Start new transaction with default isolation level. If underlying connection already has transaction, it will throw InvalidOperationException.

public void BeginTransaction()

Exceptions

InvalidOperationException

Thrown when underlying connection already has a transaction.

BeginTransaction(IsolationLevel)

Start new transaction with specified isolation level. If underlying connection already has transaction, it will throw InvalidOperationException.

public void BeginTransaction(IsolationLevel level)

Parameters

level IsolationLevel

Transaction isolation level.

Exceptions

InvalidOperationException

Thrown when underlying connection already has a transaction.

BeginTransactionAsync(IsolationLevel, CancellationToken)

Start new transaction asynchronously with specified isolation level. If underlying connection already has transaction, it will throw InvalidOperationException.

public Task BeginTransactionAsync(IsolationLevel level, CancellationToken cancellationToken = default)

Parameters

level IsolationLevel

Transaction isolation level.

cancellationToken CancellationToken

Asynchronous operation cancellation token.

Returns

Task

Exceptions

InvalidOperationException

Thrown when underlying connection already has a transaction.

BeginTransactionAsync(CancellationToken)

Start new transaction asynchronously with default isolation level. If underlying connection already has transaction, it will throw InvalidOperationException.

public Task BeginTransactionAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Asynchronous operation cancellation token.

Returns

Task

Exceptions

InvalidOperationException

Thrown when underlying connection already has a transaction.

CommitTransaction()

Commits started transaction.

public void CommitTransaction()

CommitTransactionAsync(CancellationToken)

Commits started transaction. If underlying provider doesn't support asynchronous commit, it will be performed synchronously.

public Task CommitTransactionAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Asynchronous operation cancellation token.

Returns

Task

Asynchronous operation completion task.

Dispose()

Rollbacks started transaction (if any).

public void Dispose()

RollbackTransaction()

Rollbacks started transaction.

public void RollbackTransaction()

RollbackTransactionAsync(CancellationToken)

Rollbacks started transaction asynchronously. If underlying provider doesn't support asynchronous rollback, it will be performed synchronously.

public Task RollbackTransactionAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Asynchronous operation cancellation token.

Returns

Task

Asynchronous operation completion task.