語言

DatabaseFacade.EnsureDeletedAsync(CancellationToken) 方法

定義

非同步確保上下文的資料庫不存在。 若不存在,則不採取任何行動。 如果真的存在,資料庫就會被刪除。

警告:整個資料庫已被刪除,且不會僅移除模型在此情境中使用的資料庫物件。

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)

參數

cancellationToken
CancellationToken

A CancellationToken 在等待任務完成時觀察。

傳回

代表非同步儲存操作的任務。 任務結果會顯示 true 資料庫是否被刪除,或 false 資料庫不存在。

屬性

例外狀況

備註

在使用 Entity Framework 進行測試或原型設計時,通常會緊接EnsureDeletedAsync(CancellationToken)著使用EnsureCreatedAsync(CancellationToken)。 這確保資料庫在每次測試/原型執行前都處於乾淨狀態。 但請注意,資料庫中的資料並未被保存。

Entity Framework Core 不支援在同一個 DbContext 實例上執行多個平行操作。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,務必立即等待非同步呼叫,或使用獨立的 DbContext 實例來執行平行執行的操作。 更多資訊與範例請參見 「避免 DbContext 執行緒問題 」。

更多資訊與範例請參閱「使用 EF Core 管理資料庫結構」及「資料庫建立 API」。

適用於