Freigeben über


DatabaseFacade.EnsureDeletedAsync(CancellationToken) Methode

Definition

Stellt asynchron sicher, dass die Datenbank für den Kontext nicht vorhanden ist. Wenn sie nicht vorhanden ist, wird keine Aktion ausgeführt. Wenn sie vorhanden ist, wird die Datenbank gelöscht.

Warnung: Die gesamte Datenbank wird gelöscht, und es werden keine Anstrengungen unternommen, nur die Datenbankobjekte zu entfernen, die vom Modell für diesen Kontext verwendet werden.

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)

Parameter

cancellationToken
CancellationToken

Ein CancellationToken , der beobachtet werden soll, während auf den Abschluss der Aufgabe gewartet wird.

Gibt zurück

Eine Aufgabe, die den asynchronen Speichervorgang darstellt. Das Vorgangsergebnis enthält true , ob die Datenbank gelöscht wird, false wenn sie nicht vorhanden ist.

Attribute

Ausnahmen

Hinweise

Es ist üblich, beim Testen oder Erstellen von Prototypen mithilfe von Entity Framework sofort im Anschluss EnsureDeletedAsync(CancellationToken) zu verwendenEnsureCreatedAsync(CancellationToken). Dadurch wird sichergestellt, dass sich die Datenbank vor jeder Ausführung des Tests/Prototyps in einem sauber Zustand befindet. Beachten Sie jedoch, dass die Daten in der Datenbank nicht beibehalten werden.

Entity Framework Core unterstützt nicht mehrere parallele Vorgänge, die auf demselben DbContext-instance ausgeführt werden. Dies schließt die parallele Ausführung von asynchronen Abfragen und jede explizite gleichzeitige Verwendung aus mehreren Threads ein. Warten Sie daher immer sofort auf asynchrone Aufrufe, oder verwenden Sie separate DbContext-Instanzen für parallel ausgeführte Vorgänge. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .

Weitere Informationen und Beispiele finden Sie unter Verwalten von Datenbankschemas mit EF Core - und Datenbankerstellungs-APIs .

Gilt für: