Поделиться через


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

Объект для CancellationToken наблюдения во время ожидания завершения задачи.

Возвращаемое значение

Задача, представляющая асинхронную операцию сохранения. Результат задачи содержит значение true , если база данных удалена, false если она не существует.

Атрибуты

Исключения

Если CancellationToken отменяется.

Комментарии

При тестировании или создании прототипов с помощью Entity Framework обычно используется EnsureCreatedAsync(CancellationToken) сразу после EnsureDeletedAsync(CancellationToken) . Это гарантирует, что база данных находится в чистом состоянии перед каждым выполнением теста или прототипа. Однако обратите внимание, что данные в базе данных не сохраняются.

Entity Framework Core не поддерживает выполнение нескольких параллельных операций в одном экземпляре DbContext. включая параллельное выполнение асинхронных запросов и любое явное использование экземпляра из нескольких потоков одновременно. Поэтому всегда ожидайте асинхронные вызовы немедленно или используйте отдельные экземпляры DbContext для операций, которые выполняются параллельно. Дополнительные сведения и примеры см. в разделе Предотвращение проблем с потоком DbContext .

Дополнительные сведения и примеры см. в разделах Управление схемами баз данных с помощью EF Core и API создания базы данных .

Применяется к