Compartilhar via


RelationalTransaction Classe

Definição

Uma transação no banco de dados.

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)
Herança
RelationalTransaction
Implementações

Comentários

As instâncias dessa classe normalmente são obtidas de BeginTransaction() e ela não foi projetada para ser construída diretamente no código do aplicativo.

Consulte Transações no EF Core para obter mais informações e exemplos.

Construtores

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

Inicializa uma nova instância da classe RelationalTransaction.

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

Inicializa uma nova instância da classe RelationalTransaction.

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

Inicializa uma nova instância da classe RelationalTransaction.

RelationalTransaction(IRelationalConnection, DbTransaction, ILogger, Boolean)

Inicializa uma nova instância da classe RelationalTransaction.

Propriedades

Connection

A conexão.

Logger

O agente de log.

SupportsSavepoints

Obtém um valor que indica se esta instância de IDbContextTransaction dá suporte para pontos de salvamento do banco de dados. Se false, os métodos CreateSavepointAsync(String, CancellationToken), RollbackToSavepointAsync(String, CancellationToken) e ReleaseSavepointAsync(String, CancellationToken), bem como seus correspondentes síncronos, deverão lançar NotSupportedException.

TransactionId

Uma ID de correlação que permite que essa transação seja identificada e correlacionada em várias chamadas de banco de dados.

Métodos

ClearTransaction()

Remover a transação subjacente da conexão

ClearTransactionAsync(CancellationToken)

Remover a transação subjacente da conexão

Commit()

Confirma todas as alterações feitas no banco de dados na transação atual.

CommitAsync(CancellationToken)

Confirma todas as alterações feitas no banco de dados na transação atual de forma assíncrona.

CreateSavepoint(String)

Cria um ponto de salvamento na transação. Isso permite que todos os comandos executados após e estabelecimento do ponto de salvamento sejam revertidos, restaurando o estado da transação para o que era no momento do salvamento.

CreateSavepointAsync(String, CancellationToken)

Cria um ponto de salvamento na transação. Isso permite que todos os comandos executados após e estabelecimento do ponto de salvamento sejam revertidos, restaurando o estado da transação para o que era no momento do salvamento.

Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

DisposeAsync()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

GetCreateSavepointSql(String)

Quando implementado em um provedor que dá suporte a pontos de salvamento de transação, esse método deve retornar uma instrução SQL que cria um ponto de salvamento com o nome fornecido.

GetReleaseSavepointSql(String)

Quando implementado em um provedor que dá suporte a pontos de salvamento de transação, esse método deve retornar uma instrução SQL que libera um ponto de salvamento com o nome fornecido.

Se não houver suporte para a versão do ponto de salvamento, ReleaseSavepoint(String) e ReleaseSavepointAsync(String, CancellationToken) deverá ser substituído para não fazer nada.

GetRollbackToSavepointSql(String)

Quando implementado em um provedor que dá suporte a pontos de salvamento de transação, esse método deve retornar uma instrução SQL que reverte um ponto de salvamento com o nome fornecido.

ReleaseSavepoint(String)

Destrói um ponto de salvamento definido anteriormente na transação atual. Isso permite que o sistema recupere alguns recursos antes do término da transação.

ReleaseSavepointAsync(String, CancellationToken)

Destrói um ponto de salvamento definido anteriormente na transação atual. Isso permite que o sistema recupere alguns recursos antes do término da transação.

Rollback()

Descarta todas as alterações feitas no banco de dados na transação atual.

RollbackAsync(CancellationToken)

Descarta todas as alterações feitas no banco de dados na transação atual de forma assíncrona.

RollbackToSavepoint(String)

Reverte todos os comandos que foram executados após o estabelecimento do ponto de salvamento especificado.

RollbackToSavepointAsync(String, CancellationToken)

Reverte todos os comandos que foram executados após o estabelecimento do ponto de salvamento especificado.

Implantações explícitas de interface

IInfrastructure<DbTransaction>.Instance

Uma transação no banco de dados.

Métodos de Extensão

GetInfrastructure<T>(IInfrastructure<T>)

Obtém o valor de uma propriedade que está sendo ocultada usando IInfrastructure<T>.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

GetDbTransaction(IDbContextTransaction)

Obtém o subjacente DbTransaction para a transação fornecida. Gerará se o banco de dados que está sendo direcionado não for um banco de dados relacional que usa DbTransaction.

Aplica-se a