Bagikan melalui


Penyedia Basis Data EF Core Microsoft SQL Server

Penyedia database ini memungkinkan Entity Framework Core digunakan dengan Microsoft SQL Server (termasuk Azure SQL dan Azure Synapse Analytics). Penyedia dipertahankan sebagai bagian dari Proyek Kerangka Kerja Inti Entitas.

Install

Instal paket NuGet Microsoft.EntityFrameworkCore.SqlServer .

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

Note

Penyedia mereferensikan Microsoft.Data.SqlClient (bukan System.Data.SqlClient). Jika proyek Anda mengambil dependensi langsung pada SqlClient, pastikan proyek mereferensikan paket Microsoft.Data.SqlClient.

Tip

Paket Microsoft.Data.SqlClient dikirim lebih sering daripada penyedia EF Core. Jika Anda ingin memanfaatkan fitur baru dan perbaikan bug, Anda dapat menambahkan referensi paket langsung ke versi terbaru Microsoft.Data.SqlClient.

Warning

Implementasi asinkron Microsoft.Data.SqlClient sayangnya memiliki beberapa masalah yang diketahui (misalnya #593, #601, dan lainnya). Jika Anda melihat masalah performa yang tidak terduga, coba gunakan eksekusi perintah sinkronisasi, terutama saat berhadapan dengan teks besar atau nilai biner.

Usage

Dimulai dengan EF 9, disarankan untuk menggunakan UseAzureSql dan UseAzureSynapse untuk menentukan bahwa Anda terhubung ke Azure SQL atau Azure Synapse Analytics secara khusus, dan UseSqlServer untuk menentukan bahwa Anda terhubung ke SQL Server lokal; melakukannya memungkinkan penyedia untuk mengoptimalkan dan mendukung platform ini dengan benar. Disarankan juga untuk menggunakan metode UseCompatibilityLevel untuk menentukan tingkat kompatibilitas sehingga SQL yang dihasilkan kompatibel dan/atau menggunakan fitur terbaru yang mungkin.

Note

Metode UseAzureSql dan UseAzureSynapse diperkenalkan dalam EF Core 9.0.

EnableRetryOnFailureByDefault

EF 9 memperkenalkan metode EnableRetryOnFailureByDefault yang mengonfigurasi konteks menjadi strategi eksekusi default kecuali jika dikonfigurasi secara eksplisit (misalnya ketika menggunakan DI). Untuk menggunakannya, cukup panggil ConfigureSqlEngine(c => c.EnableRetryOnFailureByDefault()) dan kemudian Anda dapat menggunakan UseSqlServer seperti biasa. Tidak perlu memanggil EnableRetryOnFailureByDefault saat menggunakan UseAzureSql atau UseAzureSynapse, karena mereka sudah mengaktifkan strategi eksekusi default.

Mesin Database yang Didukung

  • Microsoft SQL Server (2012 dan seterusnya)
  • Azure SQL
  • Azure Synapse Analytics