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. |