DatabaseFacade.EnsureCreatedAsync(CancellationToken) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memastikan bahwa database untuk konteks ada.
public virtual System.Threading.Tasks.Task<bool> EnsureCreatedAsync (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> 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>
[<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 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)
Parameter
- cancellationToken
- CancellationToken
A CancellationToken untuk mengamati sambil menunggu tugas selesai.
Mengembalikan
Tugas yang mewakili operasi penyimpanan asinkron. Hasil tugas berisi true
jika database dibuat, false
jika sudah ada.
- Atribut
Pengecualian
CancellationToken Jika dibatalkan.
Keterangan
- Jika database ada dan memiliki tabel apa pun, maka tidak ada tindakan yang diambil. Tidak ada yang dilakukan untuk memastikan skema database kompatibel dengan model Entity Framework.
- Jika database ada tetapi tidak memiliki tabel apa pun, maka model Kerangka Kerja Entitas digunakan untuk membuat skema database.
- Jika database tidak ada, maka database dibuat dan model Kerangka Kerja Entitas digunakan untuk membuat skema database.
Biasanya digunakan EnsureCreatedAsync(CancellationToken) segera setelahnya EnsureDeletedAsync(CancellationToken) saat menguji atau membuat prototipe menggunakan Kerangka Kerja Entitas. Ini memastikan bahwa database dalam keadaan bersih sebelum setiap eksekusi pengujian/prototipe. Namun, perhatikan bahwa data dalam database tidak dipertahankan.
Perhatikan bahwa API ini **tidak** menggunakan migrasi untuk membuat database. Selain itu, database yang dibuat tidak dapat diperbarui nanti menggunakan migrasi. Jika Anda menargetkan database relasional dan menggunakan migrasi, maka Anda dapat menggunakan Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.MigrateAsync untuk memastikan database dibuat menggunakan migrasi dan bahwa semua migrasi telah diterapkan.
Entity Framework Core tidak mendukung beberapa operasi paralel yang dijalankan pada instans DbContext yang sama. Ini termasuk eksekusi paralel kueri asinkron dan penggunaan bersamaan eksplisit dari beberapa utas. Oleh karena itu, selalu tunggu panggilan asinkron segera, atau gunakan instans DbContext terpisah untuk operasi yang dijalankan secara paralel. Lihat Menghindari masalah utas DbContext untuk informasi dan contoh selengkapnya.
Lihat Mengelola skema database denganAPI pembuatan EF Core dan Database untuk informasi dan contoh selengkapnya.
Berlaku untuk
Entity Framework