Freigeben über


HistoryRepository Klasse

Definition

Eine Basisklasse für das Repository, das für den Zugriff auf die Tabelle "__EFMigrationsHistory" verwendet wird, die Metadaten zu EF Core-Migrationen nachverfolgt, z. B. welche Migrationen angewendet wurden.

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

Hinweise

Datenbankanbieter müssen von dieser Klasse erben, um anbieterspezifische Funktionen zu implementieren.

Die Dienstlebensdauer ist Scoped. Dies bedeutet, dass jede DbContext instance ihre eigene instance dieses Diensts verwendet. Die Implementierung hängt möglicherweise von anderen Diensten ab, die mit einer beliebigen Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.

Weitere Informationen und Beispiele finden Sie unter Datenbankmigrationen .

Konstruktoren

HistoryRepository(HistoryRepositoryDependencies)

Initialisiert eine neue Instanz dieser Klasse.

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

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann sich ändern oder in zukünftigen Releases entfernt werden.

Felder

DefaultTableName

Der Standardname für die Migrationsverlaufstabelle.

Eigenschaften

Dependencies

Relationale Anbieterspezifische Abhängigkeiten für diesen Dienst.

ExistsSql

Überschreiben sie von Datenbankanbietern, um SQL zu generieren, das die Existenz der Verlaufstabelle testet.

GetAppliedMigrationsSql

Generiert SQL, um die angewendeten Migrationen abzufragen.

MigrationIdColumnName

Der Name der Spalte, die den Migrationsbezeichner enthält.

ProductVersionColumnName

Der Name der Spalte, die die Entity Framework-Produktversion enthält.

SqlGenerationHelper

Eine Hilfsklasse für die Generierung von SQL.

TableName

Der Name der Verlaufstabelle.

TableSchema

Das Schema, das die Verlaufstabelle enthält, oder null ob das Standardschema verwendet werden soll.

Methoden

ConfigureTable(EntityTypeBuilder<HistoryRow>)

Konfiguriert den Entitätstyp, der der Verlaufstabelle zugeordnet ist.

Exists()

Überprüft, ob die Verlaufstabelle vorhanden ist.

ExistsAsync(CancellationToken)

Überprüft, ob die Verlaufstabelle vorhanden ist.

GetAppliedMigrations()

Fragt die Verlaufstabelle nach allen migrationen ab, die angewendet wurden.

GetAppliedMigrationsAsync(CancellationToken)

Fragt die Verlaufstabelle nach allen migrationen ab, die angewendet wurden.

GetBeginIfExistsScript(String)

Überschreiben Sie von Datenbankanbietern, um ein SQL-Skript zu generieren, das nur dann einen SQL-Block darstellt, wenn die Migration mit dem angegebenen Bezeichner bereits in der Verlaufstabelle vorhanden ist BEGIN .

GetBeginIfNotExistsScript(String)

Überschreiben Sie von Datenbankanbietern, um ein SQL-Skript zu generieren, das einen SQL-Block darstellt, wenn die Migration mit dem angegebenen Bezeichner nicht bereits in der Verlaufstabelle vorhanden ist BEGIN .

GetCreateIfNotExistsScript()

Überschreiben Sie von einem Datenbankanbieter, um ein SQL-Skript zu generieren, das die Verlaufstabelle erstellt, wenn sie noch nicht vorhanden ist.

GetCreateScript()

Generiert ein SQL-Skript, das die Verlaufstabelle erstellt.

GetDeleteScript(String)

Generiert ein SQL-Skript zum Löschen einer Zeile aus der Verlaufstabelle.

GetEndIfScript()

Überschreiben Sie von Datenbankanbietern, um ein SQL-Skript für den SQL-Block zu END generieren.

GetInsertScript(HistoryRow)

Generiert ein SQL-Skript zum Einfügen einer Zeile in die Verlaufstabelle.

InterpretExistsResult(Object)

Interpretiert das Ergebnis der Ausführung ExistsSqlvon .

Gilt für: