DatabaseFacade.EnsureDeletedAsync(CancellationToken) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
非同步確保上下文的資料庫不存在。 若不存在,則不採取任何行動。 如果真的存在,資料庫就會被刪除。
警告:整個資料庫已被刪除,且不會僅移除模型在此情境中使用的資料庫物件。
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」。