Compartir a través de


RelationalTransaction Clase

Definición

Transacción con la base de datos.

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)
Herencia
RelationalTransaction
Implementaciones

Comentarios

Las instancias de esta clase se obtienen normalmente de BeginTransaction() y no están diseñadas para construirse directamente en el código de la aplicación.

Consulte Transacciones en EF Core para obtener más información y ejemplos.

Constructores

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

Inicializa una nueva instancia de la clase RelationalTransaction.

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

Inicializa una nueva instancia de la clase RelationalTransaction.

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

Inicializa una nueva instancia de la clase RelationalTransaction.

RelationalTransaction(IRelationalConnection, DbTransaction, ILogger, Boolean)

Inicializa una nueva instancia de la clase RelationalTransaction.

Propiedades

Connection

La conexión.

Logger

El registrador.

SupportsSavepoints

Obtiene un valor que indica si esta instancia de IDbContextTransaction admite los puntos de retorno de la base de datos. Si false, se espera que los métodos CreateSavepointAsync(String, CancellationToken), RollbackToSavepointAsync(String, CancellationToken) y ReleaseSavepointAsync(String, CancellationToken), así como sus contrapartes sincrónicas, generen NotSupportedException.

TransactionId

Identificador de correlación que permite identificar y correlacionar esta transacción entre varias llamadas de base de datos.

Métodos

ClearTransaction()

Quitar la transacción subyacente de la conexión

ClearTransactionAsync(CancellationToken)

Quitar la transacción subyacente de la conexión

Commit()

Confirma todos los cambios realizados en la base de datos de la transacción actual.

CommitAsync(CancellationToken)

Confirma todos los cambios realizados en la base de datos de la transacción actual de forma asincrónica.

CreateSavepoint(String)

Crea un punto de retorno en la transacción. Esto permite que se reviertan todos los comandos que se ejecutan después de que se estableció el punto de retorno, lo que restaura el estado de la transacción al estado que tenía en el momento del punto de retorno.

CreateSavepointAsync(String, CancellationToken)

Crea un punto de retorno en la transacción. Esto permite que se reviertan todos los comandos que se ejecutan después de que se estableció el punto de retorno, lo que restaura el estado de la transacción al estado que tenía en el momento del punto de retorno.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

DisposeAsync()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

GetCreateSavepointSql(String)

Cuando se implementa en un proveedor que admite puntos de retorno de transacciones, este método debe devolver una instrucción SQL que crea un punto de guardado con el nombre especificado.

GetReleaseSavepointSql(String)

Cuando se implementa en un proveedor que admite puntos de retorno de transacciones, este método debe devolver una instrucción SQL que libera un punto de retorno con el nombre especificado.

Si no se admite la versión de savepoint y ReleaseSavepoint(String)ReleaseSavepointAsync(String, CancellationToken) se debe invalidar para no hacer nada.

GetRollbackToSavepointSql(String)

Cuando se implementa en un proveedor que admite puntos de retorno de transacciones, este método debe devolver una instrucción SQL que revierta un punto de retorno con el nombre especificado.

ReleaseSavepoint(String)

Destruye un punto de retorno anteriormente definido en la transacción actual. Esto permite al sistema reclamar algunos recursos antes de que finalice la transacción.

ReleaseSavepointAsync(String, CancellationToken)

Destruye un punto de retorno anteriormente definido en la transacción actual. Esto permite al sistema reclamar algunos recursos antes de que finalice la transacción.

Rollback()

Descarta todos los cambios realizados en la base de datos de la transacción actual.

RollbackAsync(CancellationToken)

Descarta todos los cambios realizados en la base de datos de la transacción actual de forma asincrónica.

RollbackToSavepoint(String)

Revierte todos los comandos que se ejecutaron después de que se estableció el punto de retorno.

RollbackToSavepointAsync(String, CancellationToken)

Revierte todos los comandos que se ejecutaron después de que se estableció el punto de retorno.

Implementaciones de interfaz explícitas

IInfrastructure<DbTransaction>.Instance

Transacción con la base de datos.

Métodos de extensión

GetInfrastructure<T>(IInfrastructure<T>)

Obtiene el valor de una propiedad que se oculta mediante IInfrastructure<T>.

Normalmente, los proveedores de bases de datos usan este método (y otras extensiones). Por lo general, no se usa en el código de aplicación.

GetDbTransaction(IDbContextTransaction)

Obtiene el subyacente DbTransaction de la transacción especificada. Produce si la base de datos de destino no es una base de datos relacional que usa DbTransaction.

Se aplica a