Share via


RelationalTransaction 類別

定義

對資料庫的交易。

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)
繼承
RelationalTransaction
實作

備註

這個類別的實例通常是從 BeginTransaction() 中取得,而且不是設計成直接在應用程式程式碼中建構。

如需詳細資訊和範例,請參閱 EF Core 中的交易

建構函式

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

初始化 RelationalTransaction 類別的新執行個體。

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

初始化 RelationalTransaction 類別的新執行個體。

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

初始化 RelationalTransaction 類別的新執行個體。

RelationalTransaction(IRelationalConnection, DbTransaction, ILogger, Boolean)

初始化 RelationalTransaction 類別的新執行個體。

屬性

Connection

連接。

Logger

登入程式。

SupportsSavepoints

取得指出這個 IDbContextTransaction 執行個體是否支援資料庫儲存點的值。 如果為 false,方法 CreateSavepointAsync(String, CancellationToken)RollbackToSavepointAsync(String, CancellationToken)ReleaseSavepointAsync(String, CancellationToken) 以及各自的同步對應項目應該會擲回 NotSupportedException

TransactionId

相互關聯識別碼,可讓此交易在多個資料庫呼叫之間識別和相互關聯。

方法

ClearTransaction()

從連線中移除基礎交易

ClearTransactionAsync(CancellationToken)

從連線中移除基礎交易

Commit()

認可對目前交易中資料庫所做的所有變更。

CommitAsync(CancellationToken)

以非同步方式認可對目前交易中資料庫所做的所有變更。

CreateSavepoint(String)

在交易中建立儲存點。 這個動作會將您在儲存點建立後執行的所有命令回復,並將交易狀態還原到儲存點當時的狀態。

CreateSavepointAsync(String, CancellationToken)

在交易中建立儲存點。 這個動作會將您在儲存點建立後執行的所有命令回復,並將交易狀態還原到儲存點當時的狀態。

Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

DisposeAsync()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

GetCreateSavepointSql(String)

在支援交易儲存點的提供者中實作時,此方法應該會傳回 SQL 語句,此語句會建立具有指定名稱的儲存點。

GetReleaseSavepointSql(String)

在支援交易儲存點的提供者中實作時,此方法應該會傳回 SQL 語句,此語句會釋放具有指定名稱的儲存點。

如果不支援 savepoint 版本, ReleaseSavepoint(String)ReleaseSavepointAsync(String, CancellationToken) 則應該覆寫以不執行任何動作。

GetRollbackToSavepointSql(String)

在支援交易儲存點的提供者中實作時,這個方法應該會傳回 SQL 語句,此語句會以指定名稱復原儲存點。

ReleaseSavepoint(String)

終結先前在目前交易中定義的儲存點。 這個動作可讓系統在交易結束前回收一些資源。

ReleaseSavepointAsync(String, CancellationToken)

終結先前在目前交易中定義的儲存點。 這個動作可讓系統在交易結束前回收一些資源。

Rollback()

捨棄對目前交易中資料庫所做的所有變更。

RollbackAsync(CancellationToken)

以非同步方式捨棄對目前交易中資料庫所做的所有變更。

RollbackToSavepoint(String)

復原在指定儲存點建立後執行的所有命令。

RollbackToSavepointAsync(String, CancellationToken)

復原在指定儲存點建立後執行的所有命令。

明確介面實作

IInfrastructure<DbTransaction>.Instance

對資料庫的交易。

擴充方法

GetInfrastructure<T>(IInfrastructure<T>)

從使用 IInfrastructure<T> 隱藏的屬性取得值。

這個方法通常由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

GetDbTransaction(IDbContextTransaction)

DbTransaction取得指定交易的基礎。 如果目標資料庫不是使用 DbTransaction 的關係資料庫,則會擲回 。

適用於