Idioma

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
[System.Runtime.CompilerServices.Nullable(0)]
public class RelationalTransaction : IAsyncDisposable, 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>
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalTransaction = class
    interface IDbContextTransaction
    interface IDisposable
    interface IAsyncDisposable
    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
Atributos
Implementações

Comentários

As instâncias dessa classe normalmente são obtidas BeginTransaction() e não foram projetadas para serem diretamente construídas no código do aplicativo.

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

Construtores

Nome Descrição
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

Nome Descrição
Connection

A conexão.

Logger

O agente.

SupportsSavepoints

Obtém um valor que indica se essa IDbContextTransaction instância dá suporte a pontos de salvamento de banco de dados. Sefalse, os métodos CreateSavepointAsync(String, CancellationToken)RollbackToSavepointAsync(String, CancellationToken)e ReleaseSavepointAsync(String, CancellationToken) seus equivalentes síncronos forem lançadosNotSupportedException.

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

Nome Descrição
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 depois que o ponto de salvamento foi estabelecido sejam revertidos, restaurando o estado da transação para o que era no momento do ponto de salvamento.

CreateSavepointAsync(String, CancellationToken)

Cria um ponto de salvamento na transação. Isso permite que todos os comandos executados depois que o ponto de salvamento foi estabelecido sejam revertidos, restaurando o estado da transação para o que era no momento do ponto de salvamento.

Dispose()

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

DisposeAsync()

Executa tarefas definidas pelo aplicativo associadas à desalocação, 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 savepoint e ReleaseSavepoint(String)ReleaseSavepointAsync(String, CancellationToken) não for 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 depois que o ponto de salvamento especificado foi estabelecido.

RollbackToSavepointAsync(String, CancellationToken)

Reverte todos os comandos que foram executados depois que o ponto de salvamento especificado foi estabelecido.

Implantações explícitas de interface

Nome Descrição
IInfrastructure<DbTransaction>.Instance

Uma transação no banco de dados.

Métodos de Extensão

Nome Descrição
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.

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.

Aplica-se a