Udostępnij za pośrednictwem


RelationalTransaction Klasa

Definicja

Transakcja względem bazy danych.

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)
Dziedziczenie
RelationalTransaction
Implementuje

Uwagi

Wystąpienia tej klasy są zwykle uzyskiwane z BeginTransaction() programu i nie są przeznaczone do bezpośredniej konstrukcji w kodzie aplikacji.

Aby uzyskać więcej informacji i przykładów, zobacz Transakcje w programie EF Core .

Konstruktory

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

Inicjuje nowe wystąpienie klasy RelationalTransaction.

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

Inicjuje nowe wystąpienie klasy RelationalTransaction.

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

Inicjuje nowe wystąpienie klasy RelationalTransaction.

RelationalTransaction(IRelationalConnection, DbTransaction, ILogger, Boolean)

Inicjuje nowe wystąpienie klasy RelationalTransaction.

Właściwości

Connection

Połączenie.

Logger

Rejestrator.

SupportsSavepoints

Pobiera wartość wskazującą, czy to IDbContextTransaction wystąpienie obsługuje punkty zapisywania bazy danych. Jeśli falsemetody CreateSavepointAsync(String, CancellationToken), RollbackToSavepointAsync(String, CancellationToken) oraz ReleaseSavepointAsync(String, CancellationToken) ich synchroniczne odpowiedniki mają zgłaszać wartość NotSupportedException.

TransactionId

Identyfikator korelacji, który umożliwia zidentyfikowanie i skorelowanie tej transakcji między wieloma wywołaniami bazy danych.

Metody

ClearTransaction()

Usuwanie transakcji bazowej z połączenia

ClearTransactionAsync(CancellationToken)

Usuwanie transakcji bazowej z połączenia

Commit()

Zatwierdza wszystkie zmiany wprowadzone w bazie danych w bieżącej transakcji.

CommitAsync(CancellationToken)

Zatwierdza wszystkie zmiany wprowadzone w bazie danych w bieżącej transakcji asynchronicznie.

CreateSavepoint(String)

Tworzy punkt zapisywania w transakcji. Dzięki temu wszystkie polecenia, które są wykonywane po ustanowieniu punktu zapisywania, zostaną wycofane, przywracając stan transakcji do tego, co było w momencie punktu zapisywania.

CreateSavepointAsync(String, CancellationToken)

Tworzy punkt zapisywania w transakcji. Dzięki temu wszystkie polecenia, które są wykonywane po ustanowieniu punktu zapisywania, zostaną wycofane, przywracając stan transakcji do tego, co było w momencie punktu zapisywania.

Dispose()

Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych.

DisposeAsync()

Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych.

GetCreateSavepointSql(String)

W przypadku zaimplementowania w dostawcy obsługującego punkty zapisywania transakcji ta metoda powinna zwrócić instrukcję SQL, która tworzy punkt zapisywania o podanej nazwie.

GetReleaseSavepointSql(String)

W przypadku zaimplementowania w dostawcy obsługującego punkty zapisywania transakcji ta metoda powinna zwrócić instrukcję SQL, która zwalnia punkt zapisywania o podanej nazwie.

Jeśli wersja programu savepoint nie jest obsługiwana i ReleaseSavepointAsync(String, CancellationToken) powinna zostać zastąpiona, ReleaseSavepoint(String) aby nic nie zrobić.

GetRollbackToSavepointSql(String)

W przypadku zaimplementowania w dostawcy obsługującego punkty zapisywania transakcji ta metoda powinna zwrócić instrukcję SQL, która przywraca punkt zapisywania o podanej nazwie.

ReleaseSavepoint(String)

Niszczy wcześniej zdefiniowany punkt zapisu w bieżącej transakcji. Dzięki temu system może odzyskać niektóre zasoby przed zakończeniem transakcji.

ReleaseSavepointAsync(String, CancellationToken)

Niszczy wcześniej zdefiniowany punkt zapisu w bieżącej transakcji. Dzięki temu system może odzyskać niektóre zasoby przed zakończeniem transakcji.

Rollback()

Odrzuca wszystkie zmiany wprowadzone w bazie danych w bieżącej transakcji.

RollbackAsync(CancellationToken)

Odrzuca wszystkie zmiany wprowadzone w bazie danych w bieżącej transakcji asynchronicznie.

RollbackToSavepoint(String)

Przywraca wszystkie polecenia, które zostały wykonane po ustanowieniu określonego punktu zapisywania.

RollbackToSavepointAsync(String, CancellationToken)

Przywraca wszystkie polecenia, które zostały wykonane po ustanowieniu określonego punktu zapisywania.

Jawne implementacje interfejsu

IInfrastructure<DbTransaction>.Instance

Transakcja względem bazy danych.

Metody rozszerzania

GetInfrastructure<T>(IInfrastructure<T>)

Pobiera wartość z właściwości ukrytej przy użyciu polecenia IInfrastructure<T>.

Ta metoda jest zwykle używana przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest on używany w kodzie aplikacji.

GetDbTransaction(IDbContextTransaction)

Pobiera podstawę DbTransaction dla danej transakcji. Zgłasza wartość , jeśli docelowa baza danych nie jest relacyjną bazą danych, która używa elementu DbTransaction.

Dotyczy