共用方式為


Microsoft SQL Server EF Core 資料庫提供者

此資料庫提供者可讓 Entity Framework Core 與 Microsoft SQL Server 搭配使用(包括 Azure SQL 和 Azure Synapse Analytics)。 提供者作為 Entity Framework Core 專案的一部分來維護。

安裝

安裝 Microsoft.EntityFrameworkCore.SqlServer NuGet 套件

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

注意

提供者會參考 Microsoft.Data.SqlClient (不是 System.Data.SqlClient)。 如果您的專案直接相依於 SqlClient,請確定它參考了 Microsoft.Data.SqlClient 套件。

提示

Microsoft.Data.SqlClient 套件的發布頻率比 EF Core 提供程式庫更高。 如果您想要利用新功能和 Bug 修正,您可以將直接套件參考新增至最新版本的 Microsoft.Data.SqlClient。

警告

Microsoft.Data.SqlClient 的異步實作不幸有一些已知問題(例如 #593#601等)。 如果您看到非預期的效能問題,請嘗試改用同步命令執行,尤其是在處理大型文字或二進位值時。

用法

從 EF 9 開始,建議您特別使用 UseAzureSqlUseAzureSynapse 來指定您要連線到 Azure SQL 或 Azure Synapse Analytics,並 UseSqlServer 指定您要連線到內部部署 SQL Server;這樣做可讓提供者針對這些平臺進行優化並正確支援。 也建議您使用 UseCompatibilityLevel 方法來指定相容性層級,讓產生的 SQL 相容且/或使用最新的可能功能。

EF Core 9.0 中引進 UseAzureSql 和 UseAzureSynapse 方法。

支援的資料庫引擎

  • Microsoft SQL Server (2012 及更新版本)
  • Azure SQL
  • Azure Synapse Analytics