Поделиться через


RelationalTransaction Класс

Определение

Транзакция для базы данных.

public class RelationalTransaction : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.Data.Common.DbTransaction>, Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction
public class RelationalTransaction : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.Data.Common.DbTransaction>, Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction
type RelationalTransaction = class
    interface IDbContextTransaction
    interface IDisposable
    interface IInfrastructure<DbTransaction>
type RelationalTransaction = class
    interface IDbContextTransaction
    interface IDisposable
    interface IAsyncDisposable
    interface IInfrastructure<DbTransaction>
Public Class RelationalTransaction
Implements IDbContextTransaction, IDisposable, IInfrastructure(Of DbTransaction)
Public Class RelationalTransaction
Implements IAsyncDisposable, IDbContextTransaction, IDisposable, IInfrastructure(Of DbTransaction)
Наследование
RelationalTransaction
Реализации

Комментарии

Экземпляры этого класса обычно получаются из BeginTransaction() и не предназначены для непосредственного создания в коде приложения.

Дополнительные сведения и примеры см. в разделе Транзакции в EF Core .

Конструкторы

RelationalTransaction(IRelationalConnection, DbTransaction, Guid, IDiagnosticsLogger<DbLoggerCategory.Database.Transaction>, Boolean)

Инициализирует новый экземпляр класса RelationalTransaction.

RelationalTransaction(IRelationalConnection, DbTransaction, Guid, IDiagnosticsLogger<DbLoggerCategory.Database.Transaction>, Boolean, ISqlGenerationHelper)

Инициализирует новый экземпляр класса RelationalTransaction.

RelationalTransaction(IRelationalConnection, DbTransaction, IDiagnosticsLogger<DbLoggerCategory.Database.Transaction>, Boolean)

Инициализирует новый экземпляр класса RelationalTransaction.

RelationalTransaction(IRelationalConnection, DbTransaction, ILogger, Boolean)

Инициализирует новый экземпляр класса RelationalTransaction.

Свойства

Connection

Соединение.

Logger

Регистратор.

SupportsSavepoints

Возвращает значение, определяющее, поддерживает ли экземпляр IDbContextTransaction точки сохранения базы данных. При значении false методы CreateSavepointAsync(String, CancellationToken), RollbackToSavepointAsync(String, CancellationToken) и ReleaseSavepointAsync(String, CancellationToken), а также их синхронные аналоги, будут выдавать исключение NotSupportedException.

TransactionId

Идентификатор корреляции, который позволяет идентифицировать и сопоставить эту транзакцию в нескольких вызовах базы данных.

Методы

ClearTransaction()

Удаление базовой транзакции из подключения

ClearTransactionAsync(CancellationToken)

Удаление базовой транзакции из подключения

Commit()

Фиксирует все изменения, внесенные в базу данных в текущей транзакции.

CommitAsync(CancellationToken)

Асинхронно фиксирует все изменения, внесенные в базу данных в текущей транзакции.

CreateSavepoint(String)

Создает точку сохранения в транзакции. Это позволяет выполнить откат всех команд, выполненных после создания точки сохранения, и восстановить состояние транзакции на момент создания точки сохранения.

CreateSavepointAsync(String, CancellationToken)

Создает точку сохранения в транзакции. Это позволяет выполнить откат всех команд, выполненных после создания точки сохранения, и восстановить состояние транзакции на момент создания точки сохранения.

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

DisposeAsync()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

GetCreateSavepointSql(String)

При реализации в поставщике, поддерживающем точки сохранения транзакций, этот метод должен возвращать инструкцию SQL, которая создает точку сохранения с заданным именем.

GetReleaseSavepointSql(String)

При реализации в поставщике, поддерживающем точки сохранения транзакций, этот метод должен возвращать инструкцию SQL, которая освобождает точку сохранения с заданным именем.

Если выпуск savepoint не поддерживается и ReleaseSavepoint(String)ReleaseSavepointAsync(String, CancellationToken) должен быть переопределен, чтобы ничего не делать.

GetRollbackToSavepointSql(String)

При реализации в поставщике, поддерживающем точки сохранения транзакций, этот метод должен возвращать инструкцию SQL, которая выполняет откат точки сохранения с заданным именем.

ReleaseSavepoint(String)

Уничтожает точку сохранения, определенную ранее в текущей транзакции. Это позволяет системе освободить некоторые ресурсы до завершения транзакции.

ReleaseSavepointAsync(String, CancellationToken)

Уничтожает точку сохранения, определенную ранее в текущей транзакции. Это позволяет системе освободить некоторые ресурсы до завершения транзакции.

Rollback()

Отменяет все изменения, внесенные в базу данных в текущей транзакции.

RollbackAsync(CancellationToken)

Отменяет все изменения, внесенные в базу данных в текущей транзакции асинхронно.

RollbackToSavepoint(String)

Выполняет откат всех команд, выполненных после создания указанной точки сохранения.

RollbackToSavepointAsync(String, CancellationToken)

Выполняет откат всех команд, выполненных после создания указанной точки сохранения.

Явные реализации интерфейса

IInfrastructure<DbTransaction>.Instance

Транзакция для базы данных.

Методы расширения

GetInfrastructure<T>(IInfrastructure<T>)

Возвращает значение из свойства, скрытого с помощью IInfrastructure<T>.

Этот метод обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

GetDbTransaction(IDbContextTransaction)

Возвращает базовый DbTransaction объект для данной транзакции. Вызывает исключение, если целевая база данных не является реляционной базой данных, использующим DbTransaction.

Применяется к