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. Sie 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
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class RelationalDatabaseCreator : 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
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
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
- Attribute
- Implementiert
-
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect
Hinweise
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 Implementierung von Datenbankanbietern und Erweiterungen .
Konstruktoren
| Name | Beschreibung |
|---|---|
| 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
| Name | Beschreibung |
|---|---|
| Connection |
Ruft die Verbindung für die Datenbank ab. |
| Dependencies |
Relationale anbieterspezifische Abhängigkeiten für diesen Dienst. |
| ExecutionStrategyFactory |
Ruft den IExecutionStrategyFactory zu verwendenden Ab. |
| MigrationCommandExecutor |
Ruft den IMigrationCommandExecutor zu verwendenden Ab. |
| Model |
Ruft das Modell für den Kontext ab, mit dem dieser Ersteller verwendet wird. |
Methoden
| Name | Beschreibung |
|---|---|
| CanConnect() |
Bestimmt, ob die Datenbank verfügbar ist oder nicht und mit der sie verbunden werden kann. |
| CanConnectAsync(CancellationToken) |
Bestimmt, ob die Datenbank verfügbar ist oder nicht und mit der sie verbunden werden kann. |
| Create() |
Erstellt die physische Datenbank. Versucht nicht, es mit einem Schema aufzufüllen. |
| CreateAsync(CancellationToken) |
Erstellt asynchron die physische Datenbank. Versucht nicht, es mit einem Schema aufzufüllen. |
| CreateTables() |
Erstellt alle Tabellen für das aktuelle Modell in der Datenbank. Es wird kein Versuch unternommen, 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 kein Versuch unternommen, 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, wird keine Aktion ausgefü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, wird keine Aktion ausgefü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 keine Mühe 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 wird keine Mühe 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 kein Versuch unternommen, 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 kein Versuch unternommen, festzustellen, 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, die alle Tabellen aus dem Modell erstellen. |
| GetCreateTablesCommands(MigrationsSqlGenerationOptions) |
Ruft die Befehle ab, die alle Tabellen aus dem Modell erstellen. |
| HasTables() |
Bestimmt, ob die Datenbank Tabellen enthält. Es wird kein Versuch unternommen, festzustellen, ob Tabellen zum aktuellen Modell gehören oder nicht. |
| HasTablesAsync(CancellationToken) |
Bestimmt asynchron, ob die Datenbank Tabellen enthält. Es wird kein Versuch unternommen, festzustellen, ob Tabellen zum aktuellen Modell gehören oder nicht. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| 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 in zukünftigen Versionen geändert oder entfernt werden. |