Udostępnij za pośrednictwem


IDatabaseCreator Interfejs

Definicja

Tworzy i usuwa bazy danych dla danego dostawcy bazy danych.

Ten interfejs jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

public interface IDatabaseCreator
type IDatabaseCreator = interface
Public Interface IDatabaseCreator
Pochodne

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 .

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.

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 jest usuwana bez wysiłku, 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 jest usuwana bez wysiłku, aby usunąć tylko obiekty bazy danych, które są używane przez model dla tego kontekstu.

Dotyczy