Sdílet prostřednictvím


DatabaseFacade.EnsureDeletedAsync(CancellationToken) Metoda

Definice

Asynchronně zajišťuje, že databáze pro kontext neexistuje. Pokud neexistuje, neprovede se žádná akce. Pokud existuje, bude databáze odstraněna.

Upozornění: Celá databáze je odstraněna a není nutné odebrat pouze databázové objekty, které model používá pro tento kontext.

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

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

Úloha, která představuje asynchronní operaci ukládání. Výsledek úkolu obsahuje true , jestli je databáze odstraněna, false pokud neexistuje.

Atributy

Výjimky

Poznámky

Při testování nebo vytváření prototypů pomocí Entity Frameworku se běžně používá EnsureCreatedAsync(CancellationToken) okamžitě následující EnsureDeletedAsync(CancellationToken) . Tím se zajistí, že databáze bude před každým spuštěním testu nebo prototypu v čistém stavu. Upozorňujeme však, že data v databázi se nezachovají.

Entity Framework Core nepodporuje spouštění více paralelních operací ve stejné instanci DbContext. To zahrnuje paralelní spouštění asynchronních dotazů i jakékoli explicitní souběžné používání z více vláken. Proto vždy okamžitě vyčkejte na asynchronní volání nebo používejte samostatné instance DbContext pro operace, které se provádějí paralelně. Další informace a příklady najdete v tématu Předcházení problémům s vlákny DbContext .

Další informace a příklady najdete v tématu Správa schémat databáze pomocí EF Core a rozhraní API pro vytváření databází .

Platí pro