RelationalDatabaseCreator Klasse

Definition

Führt die Datenbank-/Schemaerstellung und andere verwandte Vorgänge aus.

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

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

Hinweise

Die Dienstlebensdauer ist Scoped. Dies bedeutet, dass jeder DbContext instance seine eigene instance dieses Diensts verwendet. Die Implementierung kann von anderen Diensten abhängen, die mit einer beliebigen Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.

Weitere Informationen und Beispiele finden Sie unter Implementierung von Datenbankanbietern und -erweiterungen .

Konstruktoren

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

Initialisiert eine neue Instanz der RelationalDatabaseCreator-Klasse.

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

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

Relationale anbieterspezifische Abhängigkeiten für diesen Dienst.

ExecutionStrategyFactory

Ruft die ab, die IExecutionStrategyFactory verwendet werden soll.

MigrationCommandExecutor

Ruft die ab, die IMigrationCommandExecutor verwendet werden soll.

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 der eine Verbindung hergestellt werden kann.

CanConnectAsync(CancellationToken)

Bestimmt, ob die Datenbank verfügbar ist und mit der eine Verbindung hergestellt werden kann.

Create()

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

CreateAsync(CancellationToken)

Erstellt die physische Datenbank asynchron. Versucht nicht, es 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 ihr gesamtes Schema erstellt. Wenn die Datenbank vorhanden ist, werden keine Anstrengungen 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 ihr gesamtes Schema erstellt. Wenn die Datenbank vorhanden ist, werden keine Anstrengungen 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 werden keine Anstrengungen unternommen, 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 werden keine Anstrengungen unternommen, 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, festzustellen, ob die Datenbank das Schema für das aktuelle Modell enthält.

ExistsAsync(CancellationToken)

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

GenerateCreateScript()

Generiert ein Skript zum Erstellen aller Tabellen für das aktuelle Modell.

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, festzustellen, ob Tabellen zum aktuellen Modell gehören oder nicht.

HasTablesAsync(CancellationToken)

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

Explizite Schnittstellenimplementierungen

IServiceInjectionSite.InjectServices(IServiceProvider)

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.

Gilt für: