RelationalDatabaseCreator Klasse

Definition

Führt die Datenbank/Schema-Erstellung und andere Verwandte Vorgänge aus.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

Die Dienst Lebensdauer ist Scoped . Dies bedeutet, dass jede DbContext Instanz eine eigene Instanz dieses Dienstanbieter verwendet. Die Implementierung kann von anderen Diensten abhängen, die bei einer beliebigen Lebensdauer registriert sind. Die Implementierung muss nicht Thread sicher sein.

public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite, Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreatorWithCanConnect, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
    interface IServiceInjectionSite
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
    interface IDatabaseCreatorWithCanConnect
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator, IServiceInjectionSite
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreatorWithCanConnect, IRelationalDatabaseCreator
Vererbung
RelationalDatabaseCreator
Implementiert
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect

Konstruktoren

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor)
Veraltet.

Initialisiert eine neue Instanz der RelationalDatabaseCreator-Klasse.

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory)

Initialisiert eine neue Instanz der RelationalDatabaseCreator-Klasse.

RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies)

Initialisiert eine neue Instanz der RelationalDatabaseCreator-Klasse.

Eigenschaften

Connection

Ruft die Verbindung für die Datenbank ab.

Dependencies

Parameter Objekt, das Dienst Abhängigkeiten enthält.

ExecutionStrategyFactory

Ruft das IExecutionStrategyFactory zu verwendende ab.

MigrationCommandExecutor

Ruft das IMigrationCommandExecutor zu verwendende ab.

Model

Ruft das Modell für den Kontext ab, mit dem dieser Ersteller verwendet wird.

Methoden

CanConnect()

Bestimmt, ob die Datenbank verfügbar ist und mit verbunden werden kann.

Alle Ausnahmen, die beim Verbindungsversuch ausgelöst werden, werden abgefangen und nicht an die Anwendung weitergegeben.

Die konfigurierte Verbindungs Zeichenfolge wird verwendet, um die Verbindung auf die normale Weise zu erstellen, sodass alle konfigurierten Optionen wie Timeouts berücksichtigt werden.

Beachten Sie, dass die Möglichkeit, eine Verbindung mit der Datenbank herzustellen, nicht bedeutet, dass Sie hinsichtlich der Schema Erstellung auf dem neuesten Stand ist usw.

CanConnectAsync(CancellationToken)

Bestimmt, ob die Datenbank verfügbar ist und mit verbunden werden kann.

Alle Ausnahmen, die beim Verbindungsversuch ausgelöst werden, werden abgefangen und nicht an die Anwendung weitergegeben.

Die konfigurierte Verbindungs Zeichenfolge wird verwendet, um die Verbindung auf die normale Weise zu erstellen, sodass alle konfigurierten Optionen wie Timeouts berücksichtigt werden.

Beachten Sie, dass die Möglichkeit, eine Verbindung mit der Datenbank herzustellen, nicht bedeutet, dass Sie hinsichtlich der Schema Erstellung auf dem neuesten Stand ist usw.

Create()

Erstellt die physische Datenbank. Versucht nicht, ihn mit einem Schema aufzufüllen.

CreateAsync(CancellationToken)

Erstellt asynchron die physische Datenbank. Versucht nicht, ihn mit einem Schema aufzufüllen.

CreateTables()

Erstellt alle Tabellen für das aktuelle Modell in der Datenbank. Es wird nicht versucht, das Schema inkrementell zu aktualisieren. Es wird davon ausgegangen, dass keine der Tabellen in der Datenbank vorhanden ist.

CreateTablesAsync(CancellationToken)

Erstellt asynchron alle Tabellen für das aktuelle Modell in der Datenbank. Es wird nicht versucht, das Schema inkrementell zu aktualisieren. Es wird davon ausgegangen, dass keine der Tabellen in der Datenbank vorhanden ist.

Delete()

Löscht die physische Datenbank.

DeleteAsync(CancellationToken)

Löscht die physische Datenbank asynchron.

EnsureCreated()

Stellt sicher, dass die Datenbank für den Kontext vorhanden ist. Wenn sie vorhanden ist, werden keine Aktionen durchgeführt. Wenn Sie nicht vorhanden ist, werden die Datenbank und das gesamte Schema erstellt. Wenn die Datenbank vorhanden ist, wird kein Aufwand unternommen, um sicherzustellen, dass Sie mit dem Modell für diesen Kontext kompatibel ist.

EnsureCreatedAsync(CancellationToken)

Stellt asynchron sicher, dass die Datenbank für den Kontext vorhanden ist. Wenn sie vorhanden ist, werden keine Aktionen durchgeführt. Wenn Sie nicht vorhanden ist, werden die Datenbank und das gesamte Schema erstellt. Wenn die Datenbank vorhanden ist, wird kein Aufwand unternommen, um sicherzustellen, dass Sie mit dem Modell für diesen Kontext kompatibel ist.

EnsureDeleted()

Stellt sicher, dass die Datenbank für den Kontext nicht vorhanden ist. Wenn Sie nicht vorhanden ist, wird keine Aktion ausgeführt. Wenn Sie vorhanden ist, wird die Datenbank gelöscht.

Warnung: die gesamte Datenbank wird gelöscht, und es wird nicht versucht, nur die Datenbankobjekte zu entfernen, die vom Modell für diesen Kontext verwendet werden.

EnsureDeletedAsync(CancellationToken)

Stellt asynchron sicher, dass die Datenbank für den Kontext nicht vorhanden ist. Wenn Sie nicht vorhanden ist, wird keine Aktion ausgeführt. Wenn Sie vorhanden ist, wird die Datenbank gelöscht.

Warnung: die gesamte Datenbank wird gelöscht, und es wird nicht versucht, nur die Datenbankobjekte zu entfernen, die vom Modell für diesen Kontext verwendet werden.

Exists()

Bestimmt, ob die physische Datenbank vorhanden ist. Es wird nicht versucht, zu ermitteln, ob die Datenbank das Schema für das aktuelle Modell enthält.

ExistsAsync(CancellationToken)

Ermittelt asynchron, ob die physische Datenbank vorhanden ist. Es wird nicht versucht, zu ermitteln, ob die Datenbank das Schema für das aktuelle Modell enthält.

GenerateCreateScript()

Generiert ein-Skript, um alle Tabellen für das aktuelle Modell zu erstellen.

GetCreateTablesCommands()

Ruft die Befehle ab, mit denen alle Tabellen aus dem Modell erstellt werden.

GetCreateTablesCommands(MigrationsSqlGenerationOptions)

Ruft die Befehle ab, mit denen alle Tabellen aus dem Modell erstellt werden.

HasTables()

Bestimmt, ob die Datenbank Tabellen enthält. Es wird nicht versucht, zu ermitteln, ob Tabellen zum aktuellen Modell gehören.

HasTablesAsync(CancellationToken)

Ermittelt asynchron, ob die Datenbank Tabellen enthält. Es wird nicht versucht, zu ermitteln, ob Tabellen zum aktuellen Modell gehören.

Explizite Schnittstellenimplementierungen

IServiceInjectionSite.InjectServices(IServiceProvider)

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

Gilt für: