Język

DatabaseFacade.EnsureDeletedAsync(CancellationToken) Metoda

Definicja

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 zostanie usunięta i nie zostanie podjęta żadna próba usunięcia tylko obiektów bazy danych używanych przez model dla tego kontekstu.

public virtual System.Threading.Tasks.Task<bool> EnsureDeletedAsync(System.Threading.CancellationToken cancellationToken = default);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Migrations operations require building the design-time model which is not supported with NativeAOT Use a migration bundle or an alternate way of executing migration operations.")]
public virtual System.Threading.Tasks.Task<bool> EnsureDeletedAsync(System.Threading.CancellationToken cancellationToken = default);
abstract member EnsureDeletedAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
override this.EnsureDeletedAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Migrations operations require building the design-time model which is not supported with NativeAOT Use a migration bundle or an alternate way of executing migration operations.")>]
abstract member EnsureDeletedAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
override this.EnsureDeletedAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Overridable Function EnsureDeletedAsync (Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Parametry

cancellationToken
CancellationToken

Element do CancellationToken obserwowania podczas oczekiwania na ukończenie zadania.

Zwraca

Zadanie reprezentujące operację zapisywania asynchronicznego. Wynik zadania zawiera true informacje o tym, czy baza danych została usunięta, false jeśli nie istnieje.

Atrybuty

Wyjątki

Jeśli element CancellationToken zostanie anulowany.

Uwagi

Podczas testowania lub tworzenia prototypów przy użyciu platformy Entity Framework często stosuje EnsureCreatedAsync(CancellationToken) się następujące instrukcje EnsureDeletedAsync(CancellationToken) . Gwarantuje to, że baza danych jest w stanie czystym przed każdym wykonaniem testu/prototypu. Należy jednak pamiętać, że dane w bazie danych nie są zachowywane.

Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu dbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji i przykładów, zobacz Unikanie problemów z wątkami dbContext .

Aby uzyskać więcej informacji i przykładów, zobacz Zarządzanie schematami baz danych za pomocąinterfejsów API tworzenia bazy danych i programu EF Core.

Dotyczy