Sdílet prostřednictvím


RelationalTransaction Třída

Definice

Transakce s databází.

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)
Dědičnost
RelationalTransaction
Implementuje

Poznámky

Instance této třídy se obvykle získávají z BeginTransaction() a nejsou navrženy tak, aby byly přímo vytvořeny v kódu aplikace.

Další informace a příklady najdete v tématu Transakce v EF Core .

Konstruktory

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

Inicializuje novou instanci RelationalTransaction třídy .

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

Inicializuje novou instanci RelationalTransaction třídy .

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

Inicializuje novou instanci RelationalTransaction třídy .

RelationalTransaction(IRelationalConnection, DbTransaction, ILogger, Boolean)

Inicializuje novou instanci RelationalTransaction třídy .

Vlastnosti

Connection

Připojení.

Logger

Protokolovací nástroje.

SupportsSavepoints

Získá hodnotu, která označuje, zda tato IDbContextTransaction instance podporuje uložit body databáze. Pokud false, očekává se, RollbackToSavepointAsync(String, CancellationToken) že metody CreateSavepointAsync(String, CancellationToken)a ReleaseSavepointAsync(String, CancellationToken) a jejich synchronní protějšky vyvolají .NotSupportedException

TransactionId

ID korelace, které umožňuje tuto transakci identifikovat a korelovat napříč více voláními databáze.

Metody

ClearTransaction()

Odeberte z připojení podkladovou transakci.

ClearTransactionAsync(CancellationToken)

Odeberte z připojení podkladovou transakci.

Commit()

Potvrdí všechny změny provedené v databázi v aktuální transakci.

CommitAsync(CancellationToken)

Potvrdí všechny změny provedené v databázi v aktuální transakci asynchronně.

CreateSavepoint(String)

Vytvoří v transakci bod uložení. To umožňuje vrátit zpět všechny příkazy, které jsou spuštěny po vytvoření bodu uložení, a obnovit stav transakce do stavu, který byl v době uložení bodu.

CreateSavepointAsync(String, CancellationToken)

Vytvoří v transakci bod uložení. To umožňuje vrátit zpět všechny příkazy, které jsou spuštěny po vytvoření bodu uložení, a obnovit stav transakce do stavu, který byl v době uložení bodu.

Dispose()

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

DisposeAsync()

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

GetCreateSavepointSql(String)

Při implementaci ve zprostředkovateli podporující transakce savepoints, tato metoda by měla vrátit příkaz SQL, který vytvoří savepoint s daným názvem.

GetReleaseSavepointSql(String)

Při implementaci ve zprostředkovateli podporujícím transakce savepoints by tato metoda měla vrátit příkaz SQL, který uvolní savepoint s daným názvem.

Pokud se verze savepoint nepodporuje a ReleaseSavepoint(String)ReleaseSavepointAsync(String, CancellationToken) měla by se přepsat, aby nedělaly nic.

GetRollbackToSavepointSql(String)

Při implementaci v zprostředkovateli podporujících transakce savepoints, tato metoda by měla vrátit příkaz SQL, který vrátí savepoint s daným názvem.

ReleaseSavepoint(String)

Zničí savepoint dříve definované v aktuální transakci. To umožňuje systému uvolnit některé prostředky před ukončením transakce.

ReleaseSavepointAsync(String, CancellationToken)

Zničí savepoint dříve definované v aktuální transakci. To umožňuje systému uvolnit některé prostředky před ukončením transakce.

Rollback()

Zahodí všechny změny provedené v databázi v aktuální transakci.

RollbackAsync(CancellationToken)

Zahodí všechny změny provedené v databázi v aktuální transakci asynchronně.

RollbackToSavepoint(String)

Vrátí zpět všechny příkazy, které byly provedeny po vytvoření zadaného bodu uložení.

RollbackToSavepointAsync(String, CancellationToken)

Vrátí zpět všechny příkazy, které byly provedeny po vytvoření zadaného bodu uložení.

Explicitní implementace rozhraní

IInfrastructure<DbTransaction>.Instance

Transakce s databází.

Metody rozšíření

GetInfrastructure<T>(IInfrastructure<T>)

Získá hodnotu z vlastnosti, která je skryta pomocí IInfrastructure<T>.

Tuto metodu obvykle používají poskytovatelé databází (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

GetDbTransaction(IDbContextTransaction)

Získá podkladovou DbTransaction pro danou transakci. Vyvolá se, pokud cílová databáze není relační databází, která používá DbTransaction.

Platí pro