IRelationalDatabaseCreator Interfejs
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 on używany w kodzie aplikacji.
public interface IRelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator
type IRelationalDatabaseCreator = interface
interface IDatabaseCreator
Public Interface IRelationalDatabaseCreator
Implements IDatabaseCreator
- Pochodne
- Implementuje
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ładów, zobacz Implementacja dostawców i rozszerzeń bazy danych .
Metody
CanConnect() |
Określa, czy baza danych jest dostępna i z nią można nawiązać połączenie. (Odziedziczone po IDatabaseCreator) |
CanConnectAsync(CancellationToken) |
Określa, czy baza danych jest dostępna i z nią można nawiązać połączenie. (Odziedziczone po IDatabaseCreator) |
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 przyrostowego zaktualizowania 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 przyrostowego zaktualizowania 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 jego schemat zostaną utworzone. Jeśli baza danych istnieje, nie ma wysiłku, aby upewnić się, że jest ona zgodna z modelem dla tego kontekstu. (Odziedziczone po IDatabaseCreator) |
EnsureCreatedAsync(CancellationToken) |
Asynchronicznie 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 jego schemat zostaną utworzone. Jeśli baza danych istnieje, nie ma wysiłku, aby upewnić się, że jest ona zgodna z modelem dla tego kontekstu. (Odziedziczone po IDatabaseCreator) |
EnsureDeleted() |
Gwarantuje, ż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 nie jest usuwana, aby usunąć tylko obiekty bazy danych, które są używane przez model dla tego kontekstu. (Odziedziczone po IDatabaseCreator) |
EnsureDeletedAsync(CancellationToken) |
Asynchronicznie gwarantuje, ż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 nie jest usuwana, aby usunąć tylko obiekty bazy danych, które są używane przez model dla tego kontekstu. (Odziedziczone po IDatabaseCreator) |
Exists() |
Określa, czy fizyczna baza danych istnieje. 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. |
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. |