RelationalDatabaseCreator Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wykonuje tworzenie bazy danych/schematu i inne powiązane operacje.
Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.
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
- Dziedziczenie
-
RelationalDatabaseCreator
- Implementuje
-
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect
Uwagi
Okres istnienia usługi to Scoped. Oznacza to, że każde DbContext wystąpienie będzie używać własnego wystąpienia tej usługi. Implementacja może zależeć od innych usług zarejestrowanych w dowolnym okresie istnienia. Implementacja nie musi być bezpieczna wątkowo.
Aby uzyskać więcej informacji i przykłady , zobacz Implementacja dostawców i rozszerzeń bazy danych .
Konstruktory
| RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory) |
Inicjuje nowe wystąpienie klasy RelationalDatabaseCreator. |
| RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor) |
Przestarzałe.
Inicjuje nowe wystąpienie klasy RelationalDatabaseCreator. |
| RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies) |
Inicjuje nowe wystąpienie klasy RelationalDatabaseCreator. |
Właściwości
| Connection |
Pobiera połączenie dla bazy danych. |
| Dependencies |
Zależności specyficzne dla dostawcy relacyjnego dla tej usługi. |
| ExecutionStrategyFactory |
Pobiera element IExecutionStrategyFactory do użycia. |
| MigrationCommandExecutor |
Pobiera element IMigrationCommandExecutor do użycia. |
| Model |
Pobiera model dla kontekstu, z którego jest używany ten twórca. |
Metody
| CanConnect() |
Określa, czy baza danych jest dostępna i z nią można nawiązać połączenie. |
| CanConnectAsync(CancellationToken) |
Określa, czy baza danych jest dostępna i z nią można nawiązać połączenie. |
| Create() |
Tworzy fizyczną bazę danych. Nie próbuje wypełnić go żadnym schematem. |
| CreateAsync(CancellationToken) |
Asynchronicznie tworzy fizyczną bazę danych. Nie próbuje wypełnić go żadnym schematem. |
| CreateTables() |
Tworzy wszystkie tabele dla bieżącego modelu w bazie danych. Nie podjęto próby przyrostowej aktualizacji schematu. Zakłada się, że żadna z tabel nie istnieje w bazie danych. |
| CreateTablesAsync(CancellationToken) |
Asynchronicznie tworzy wszystkie tabele dla bieżącego modelu w bazie danych. Nie podjęto próby przyrostowej aktualizacji schematu. Zakłada się, że żadna z tabel nie istnieje w bazie danych. |
| Delete() |
Usuwa fizyczną bazę danych. |
| DeleteAsync(CancellationToken) |
Asynchronicznie usuwa fizyczną bazę danych. |
| EnsureCreated() |
Gwarantuje, że baza danych dla kontekstu istnieje. Jeśli istnieje, nie zostanie podjęta żadna akcja. Jeśli nie istnieje, baza danych i cały jej schemat zostaną utworzone. Jeśli baza danych istnieje, nie zostanie podjęta żadna próba zapewnienia, że jest zgodna z modelem dla tego kontekstu. |
| EnsureCreatedAsync(CancellationToken) |
Asynchronicznie zapewnia, że baza danych dla kontekstu istnieje. Jeśli istnieje, nie zostanie podjęta żadna akcja. Jeśli nie istnieje, baza danych i cały jej schemat zostaną utworzone. Jeśli baza danych istnieje, nie zostanie podjęta żadna próba zapewnienia, że jest zgodna z modelem dla tego kontekstu. |
| EnsureDeleted() |
Zapewnia, że baza danych dla kontekstu nie istnieje. Jeśli nie istnieje, nie zostanie podjęta żadna akcja. Jeśli istnieje, baza danych zostanie usunięta. Ostrzeżenie: Cała baza danych została usunięta i nie podjęto żadnych starań, aby usunąć tylko obiekty bazy danych, które są używane przez model dla tego kontekstu. |
| EnsureDeletedAsync(CancellationToken) |
Asynchronicznie zapewnia, że baza danych dla kontekstu nie istnieje. Jeśli nie istnieje, nie zostanie podjęta żadna akcja. Jeśli istnieje, baza danych zostanie usunięta. Ostrzeżenie: Cała baza danych została usunięta i nie podjęto żadnych starań, aby usunąć tylko obiekty bazy danych, które są używane przez model dla tego kontekstu. |
| Exists() |
Określa, czy istnieje fizyczna baza danych. Nie podjęto próby ustalenia, czy baza danych zawiera schemat bieżącego modelu. |
| ExistsAsync(CancellationToken) |
Asynchronicznie określa, czy fizyczna baza danych istnieje. Nie podjęto próby ustalenia, czy baza danych zawiera schemat bieżącego modelu. |
| GenerateCreateScript() |
Generuje skrypt, aby utworzyć wszystkie tabele dla bieżącego modelu. |
| GetCreateTablesCommands() |
Pobiera polecenia, które będą tworzyć wszystkie tabele na podstawie modelu. |
| GetCreateTablesCommands(MigrationsSqlGenerationOptions) |
Pobiera polecenia, które będą tworzyć wszystkie tabele na podstawie modelu. |
| HasTables() |
Określa, czy baza danych zawiera jakiekolwiek tabele. Nie podjęto próby określenia, czy tabele należą do bieżącego modelu, czy nie. |
| HasTablesAsync(CancellationToken) |
Asynchronicznie określa, czy baza danych zawiera jakiekolwiek tabele. Nie podjęto próby określenia, czy tabele należą do bieżącego modelu, czy nie. |
Jawne implementacje interfejsu
| IServiceInjectionSite.InjectServices(IServiceProvider) |
Ten interfejs API obsługuje infrastrukturę platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach. |