DatabaseFacade.EnsureCreatedAsync(CancellationToken) Yöntem

Tanım

Bağlamın veritabanının mevcut olduğunu doğrular.

  • Veritabanı varsa ve herhangi bir tablo varsa, herhangi bir işlem alınmaz. Veritabanı şemasının veritabanı modeliyle uyumlu olduğundan emin olmak için Entity Framework yoktur.
  • Veritabanı mevcutsa ancak herhangi bir tablo yoksa, veritabanı Entity Framework oluşturmak için veritabanı modeli kullanılır.
  • Veritabanı yoksa veritabanı oluşturulur ve veritabanı şemasını oluşturmak Entity Framework modeli kullanılır.

Aşağıdaki adımları kullanarak test EnsureCreatedAsync(CancellationToken) veya EnsureDeletedAsync(CancellationToken) prototyping Entity Framework. Bu, testin/prototipin her yürütmesi öncesinde veritabanının temiz durumda olduğunu sağlar. Ancak, veritabanındaki verilerin korunmay olduğunu unutmayın.

Bu API'nin **veritabanını oluşturmak** için geçişleri kullanmaz. Ayrıca, oluşturulan veritabanı daha sonra geçişler kullanılarak güncelleştirilemez. İlişkisel bir veritabanını hedef alıyor ve geçişleri kullanıyorsanız, veritabanının geçişler kullanılarak oluşturula ve tüm geçişlerin uygulandığını Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.MigrateAsync sağlamak için kullanabilirsiniz.

public virtual System.Threading.Tasks.Task<bool> EnsureCreatedAsync (System.Threading.CancellationToken cancellationToken = default);
abstract member EnsureCreatedAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
override this.EnsureCreatedAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Overridable Function EnsureCreatedAsync (Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Parametreler

cancellationToken
CancellationToken

Görevin CancellationToken tamamlandıktan sonra gözlemlemek için bir.

Döndürülenler

Task<Boolean>

Zaman uyumsuz kaydetme işlemi temsil eden bir görev. Görev sonucu, true veritabanı oluşturulduktan sonra (zaten false varsa) içerir.

Özel durumlar

Açıklamalar

Entity Framework Core aynı DbContext örneğinde birden çok paralel işlem çalıştırmayı desteklemez. Bu, zaman uyumsuz sorguların paralel yürütülmesini ve birden çok iş parçacığından yapılan açık eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekler veya paralel yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext iş parçacığı sorunlarından kaçınma.

Daha fazla bilgi için bkz. EF Core ve Veritabanı oluşturma API'leriyle veritabanı şemalarını yönetme.

Şunlara uygulanır