RelationalTransaction Sınıf

Tanım

Veritabanına karşı bir işlem.

Bu sınıfın örnekleri genellikle üzerinden alınır BeginTransaction() ve uygulama kodunuzda doğrudan oluşturulacak şekilde tasarlanmamıştır.

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)
Devralma
RelationalTransaction
Uygulamalar

Açıklamalar

Daha fazla bilgi için bkz. EF Core işlemler .

Oluşturucular

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

RelationalTransaction sınıfının yeni bir örneğini başlatır.

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

RelationalTransaction sınıfının yeni bir örneğini başlatır.

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

RelationalTransaction sınıfının yeni bir örneğini başlatır.

RelationalTransaction(IRelationalConnection, DbTransaction, ILogger, Boolean)

RelationalTransaction sınıfının yeni bir örneğini başlatır.

Özellikler

Connection

Bağlantı.

Logger

Günlükçü.

SupportsSavepoints

Bu IDbContextTransaction örneğin veritabanı Savepoints 'i destekleyip desteklemediğini gösteren bir değer alır. Eğer false , yöntemler CreateSavepointAsync(String, CancellationToken) , RollbackToSavepointAsync(String, CancellationToken) ReleaseSavepointAsync(String, CancellationToken)Ayrıca, zaman uyumlu karşılıkları throw olarak beklenmez NotSupportedException .

TransactionId

Bu işlemin birden çok veritabanı çağrısı arasında tanımlanmasını ve bağıntılı olmasını sağlayan bir bağıntı KIMLIĞI.

Yöntemler

ClearTransaction()

Temel alınan işlemi bağlantıdan kaldır

ClearTransactionAsync(CancellationToken)

Temel alınan işlemi bağlantıdan kaldır

Commit()

Geçerli işlemde veritabanında yapılan tüm değişiklikleri kaydeder.

CommitAsync(CancellationToken)

Geçerli işlemde veritabanında yapılan tüm değişiklikleri zaman uyumsuz olarak kaydeder.

CreateSavepoint(String)

İşlemde bir kayıt noktası oluşturur. Bu, kayıt noktasını geri alındıktan sonra yürütülen tüm komutların, işlem durumunun kayıt noktasında olduğu duruma geri yüklenmesini sağlar.

CreateSavepointAsync(String, CancellationToken)

İşlemde bir kayıt noktası oluşturur. Bu, kayıt noktasını geri alındıktan sonra yürütülen tüm komutların, işlem durumunun kayıt noktasında olduğu duruma geri yüklenmesini sağlar.

Dispose()

Uygulama tarafından tanımlanan, yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilişkili görevleri gerçekleştirir.

DisposeAsync()

Uygulama tarafından tanımlanan, yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilişkili görevleri gerçekleştirir.

GetCreateSavepointSql(String)

işlem savepoints 'i destekleyen bir sağlayıcıda uygulandığında, bu yöntem verilen ada sahip bir kayıt noktası oluşturan bir SQL ifadesini döndürmelidir.

GetReleaseSavepointSql(String)

işlem savepoints 'i destekleyen bir sağlayıcıda uygulandığında, bu yöntem verilen ada sahip bir kayıt noktasını serbest bırakır SQL bir ifade döndürmelidir.

Kayıt noktası yayını desteklenmiyorsa ReleaseSavepoint(String) ve ReleaseSavepointAsync(String, CancellationToken) hiçbir şey yapmak için geçersiz kılınmalıdır.

GetRollbackToSavepointSql(String)

işlem savepoints 'i destekleyen bir sağlayıcıda uygulandığında, bu yöntem verilen ada sahip bir kayıt noktasını geri kaydeden bir SQL ifadesini döndürmelidir.

ReleaseSavepoint(String)

Geçerli işlemde daha önce tanımlanan bir kayıt noktasını yok eder. Bu, sistemin işlem bitmeden önce bazı kaynakları geri almasına izin verir.

Kayıt noktası yayını desteklenmiyorsa ReleaseSavepoint(String) ve ReleaseSavepointAsync(String, CancellationToken) throw yerine hiçbir şey yapmamalıdır. Bu, varsayılan davranıştır.

ReleaseSavepointAsync(String, CancellationToken)

Geçerli işlemde daha önce tanımlanan bir kayıt noktasını yok eder. Bu, sistemin işlem bitmeden önce bazı kaynakları geri almasına izin verir.

Kayıt noktası yayını desteklenmiyorsa ReleaseSavepoint(String) ve ReleaseSavepointAsync(String, CancellationToken) throw yerine hiçbir şey yapmamalıdır. Bu, varsayılan davranıştır.

Rollback()

Geçerli işlemdeki veritabanında yapılan tüm değişiklikleri atar.

RollbackAsync(CancellationToken)

Geçerli işlemdeki veritabanında yapılan tüm değişiklikleri zaman uyumsuz olarak atar.

RollbackToSavepoint(String)

Belirtilen kayıt noktası oluşturulduktan sonra yürütülen tüm komutları geri kaydeder.

RollbackToSavepointAsync(String, CancellationToken)

Belirtilen kayıt noktası oluşturulduktan sonra yürütülen tüm komutları geri kaydeder.

Belirtik Arabirim Kullanımları

IInfrastructure<DbTransaction>.Instance

Uzantı Metotları

GetInfrastructure<T>(IInfrastructure<T>)

Kullanılarak gizlenen bir özellikten değeri alır IInfrastructure<T> .

Bu yöntem genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

IInfrastructure<T> , uygulama kodunda kullanılması amaçlanmayan ancak veritabanı sağlayıcıları tarafından yazılan genişletme yöntemlerinde kullanılabilen özellikleri gizlemek için kullanılır.

GetDbTransaction(IDbContextTransaction)

DbTransactionBelirtilen işlem için temeldeki öğesini alır. Hedeflenen veritabanının kullanan ilişkisel bir veritabanı olmaması halinde atar DbTransaction .

Şunlara uygulanır