HistoryRepository Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
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 |
| GetBeginIfNotExistsScript(String) |
Wird von Datenbankanbietern überschrieben, um ein SQL-Skript zu generieren, das |
| 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 |
| 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. |