HistoryRepository Sınıf

Tanım

'__EFMigrationsHistory' tablosuna erişmek için kullanılan ve geçişlerin uygulandığı EF Core ilgili meta verileri takip etmek için kullanılan deponun temel sınıfı.

Veritabanı sağlayıcılarının sağlayıcıya özgü işlevleri uygulamak için bu sınıftan devralması gerekir.

Hizmet ömrü Scoped şudur: . Bu, her örneğin DbContext bu hizmetin kendi örneğini kullanacağız anlamına gelir. Uygulama, herhangi bir yaşam süresiyle kaydedilen diğer hizmetlere bağlı olabilir. Uygulamanın iş parçacığı güvenli olması gerek değildir.

public abstract class HistoryRepository : Microsoft.EntityFrameworkCore.Migrations.IHistoryRepository
type HistoryRepository = class
    interface IHistoryRepository
Public MustInherit Class HistoryRepository
Implements IHistoryRepository
Devralma
HistoryRepository
Uygulamalar

Açıklamalar

Daha fazla bilgi için bkz. Veritabanı geçişleri.

Oluşturucular

HistoryRepository(HistoryRepositoryDependencies)

Bu sınıfın yeni bir örneğini başlatıyor.

HistoryRepository(IDatabaseCreator, IRawSqlCommandBuilder, IRelationalConnection, IDbContextOptions, IMigrationsModelDiffer, IMigrationsSqlGenerator, IRelationalAnnotationProvider, ISqlGenerationHelper)

Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılmaya yönelik değildir. Bu API gelecek sürümlerde değişebilir veya kaldırılabilir.

Alanlar

DefaultTableName

Geçiş geçmişi tablosu için varsayılan ad.

Özellikler

Dependencies

Bu hizmet için ilişkisel sağlayıcıya özgü bağımlılıklar.

ExistsSql

Geçmiş tablosu varlığını test SQL veritabanı sağlayıcıları tarafından geçersiz kılınır.

GetAppliedMigrationsSql

Uygulanan SQL sorgulamak için bir uygulama oluşturur.

MigrationIdColumnName

Geçiş tanımlayıcısını tutan sütunun adı.

ProductVersionColumnName

Ürün sürümünü içeren sütunun Entity Framework.

SqlGenerationHelper

Yeni nesil oluşturma için yardımcı SQL.

TableName

Geçmiş tablosu adı.

TableSchema

Geçmiş tablosu içeren şema veya null varsayılan şemanın kullanılmalıdır.

Yöntemler

ConfigureTable(EntityTypeBuilder<HistoryRow>)

Geçmiş tablosuyla eşlenen varlık türünü yapılandırıyor.

Veritabanı sağlayıcıları yapılandırma eklemek veya değiştirmek için bunu geçersiz kabilirsiniz.

Exists()

Geçmiş tablosu olup olmadığını denetler.

ExistsAsync(CancellationToken)

Geçmiş tablosu olup olmadığını denetler.

GetAppliedMigrations()

Uygulanan tüm geçişler için geçmiş tablosu sorgular.

GetAppliedMigrationsAsync(CancellationToken)

Uygulanan tüm geçişler için geçmiş tablosu sorgular.

GetBeginIfExistsScript(String)

Veritabanı sağlayıcıları tarafından geçersiz kılınarak SQL betiği oluşturulur ve yalnızca verilen tanımlayıcıya sahip geçiş geçmiş tablosunda mevcutsa SQL bloğuna BAŞLAR.

GetBeginIfNotExistsScript(String)

Veritabanı sağlayıcıları tarafından geçersiz kılınarak SQL betiği oluşturulur ve yalnızca verilen tanımlayıcıya sahip geçiş geçmiş tablosunda mevcutsa SQL bloğu başlar.

GetCreateIfNotExistsScript()

Bir veritabanı sağlayıcısı tarafından geçersiz kılınarak SQL ve henüz yoksa geçmiş tablosu oluşturan bir komut dosyası oluşturulur.

GetCreateScript()

Geçmiş SQL bir komut dosyası üretir.

GetDeleteScript(String)

Geçmiş tablosundan SQL silmek için bir komut dosyası üretir.

GetEndIfScript()

Veritabanı sağlayıcıları tarafından geçersiz kılınarak SQL end betiği SQL.

GetInsertScript(HistoryRow)

Geçmiş tablosuna SQL eklemek için bir komut dosyası üretir.

InterpretExistsResult(Object)

yürütmenin sonucu ExistsSql yorumlanır.

Şunlara uygulanır