Udostępnij za pośrednictwem


IRelationalDatabaseCreator Interfejs

Definicja

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.

Dotyczy