Sprache

HistoryRepository Klasse

Definition

Eine Basisklasse für das Repository, die 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
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class HistoryRepository : Microsoft.EntityFrameworkCore.Migrations.IHistoryRepository
type HistoryRepository = class
    interface IHistoryRepository
[<System.Runtime.CompilerServices.Nullable(0)>]
type HistoryRepository = class
    interface IHistoryRepository
Public MustInherit Class HistoryRepository
Implements IHistoryRepository
Vererbung
HistoryRepository
Attribute
Implementiert

Hinweise

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

Die Dienstlebensdauer lautet Scoped. Dies bedeutet, dass jede DbContext Instanz eine eigene Instanz dieses Diensts verwendet. Die Implementierung kann von anderen Diensten abhängen, die mit jeder Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.

Weitere Informationen und Beispiele finden Sie unter Datenbankmigrationen .

Konstruktoren

Name Beschreibung
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 in zukünftigen Versionen geändert oder entfernt werden.

Felder

Name Beschreibung
DefaultTableName

Der Standardname für die Migrationsverlaufstabelle.

Eigenschaften

Name Beschreibung
Dependencies

Relationale anbieterspezifische Abhängigkeiten für diesen Dienst.

ExistsSql

Überschrieben von Datenbankanbietern, um SQL zu generieren, die das Vorhandensein der Verlaufstabelle testet.

GetAppliedMigrationsSql

Generiert SQL, um die migrationen abzufragen, die angewendet wurden.

LockReleaseBehavior

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

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

Name der Verlaufstabelle.

TableSchema

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

Methoden

Name Beschreibung
AcquireDatabaseLock()

Ruft eine exklusive Sperre für die Datenbank ab.

AcquireDatabaseLockAsync(CancellationToken)

Ruft eine exklusive Sperre für die Datenbank ab.

ConfigureTable(EntityTypeBuilder<HistoryRow>)

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

Create()

Erstellt die Verlaufstabelle.

CreateAsync(CancellationToken)

Erstellt die Verlaufstabelle.

EnsureModel()

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

Exists()

Überprüft, ob die Verlaufstabelle vorhanden ist.

ExistsAsync(CancellationToken)

Überprüft, ob die Verlaufstabelle vorhanden ist.

GetAppliedMigrations()

Fragt die Verlaufstabelle für alle Migrationen ab, die angewendet wurden.

GetAppliedMigrationsAsync(CancellationToken)

Fragt die Verlaufstabelle für alle Migrationen ab, die angewendet wurden.

GetBeginIfExistsScript(String)

Wird von Datenbankanbietern überschrieben, um ein SQL-Skript zu generieren, das BEGIN einen SQL-Block enthält, wenn und nur, wenn die Migration mit dem angegebenen Bezeichner bereits in der Verlaufstabelle vorhanden ist.

GetBeginIfNotExistsScript(String)

Wird von Datenbankanbietern überschrieben, um ein SQL-Skript zu generieren, das BEGIN einen SQL-Block enthält, wenn die Migration mit dem angegebenen Bezeichner nicht bereits in der Verlaufstabelle vorhanden ist.

GetCreateCommands()

Gibt die Migrationsbefehle zurück, die die Verlaufstabelle erstellen.

GetCreateIfNotExistsScript()

Wird von einem Datenbankanbieter überschrieben, um ein SQL-Skript zu generieren, das die Verlaufstabelle erstellt, wenn und nur, wenn es 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()

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

GetInsertScript(HistoryRow)

Generiert ein SQL-Skript, um eine Zeile in die Verlaufstabelle einzufügen.

InterpretExistsResult(Object)

Interpretiert das Ergebnis der Ausführung ExistsSql.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IHistoryRepository.CreateIfNotExists()

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

IHistoryRepository.CreateIfNotExistsAsync(CancellationToken)

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

Gilt für: