RelationalDatabaseCreator 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.
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:
Entity Framework