此資料庫提供者可讓 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 提供程式庫更高。 如果您想要利用新功能和錯誤修正,您可以將直接套件引用新增至最新版本的 Microsoft.Data.SqlClient。
警告
Microsoft.Data.SqlClient 的異步實作不幸有一些已知問題(例如 #593、#601等)。 如果您看到非預期的效能問題,請嘗試改用同步命令執行,尤其是在處理大型文字或二進位值時。
從 EF 9 開始,建議您特別使用 UseAzureSql
和 UseAzureSynapse
來指定您要連線到 Azure SQL 或 Azure Synapse Analytics,並 UseSqlServer
指定您要連線到內部部署 SQL Server;這樣做可讓提供者針對這些平臺進行優化並正確支援。 也建議您使用 UseCompatibilityLevel
方法來指定相容性層級,讓產生的 SQL 相容且/或使用最新的可能功能。
注意
EF Core 9.0 中引進 UseAzureSql 和 UseAzureSynapse 方法。
EF 9 引進 EnableRetryOnFailureByDefault
的方法,將內容設定為默認 執行策略 ,除非它已明確設定(也就是在使用 DI 時)。 若要使用它,只要呼叫 ConfigureSqlEngine(c => c.EnableRetryOnFailureByDefault())
,稍後您就可以像往常一樣使用 UseSqlServer
。 使用 UseAzureSql
或 UseAzureSynapse
時不需要呼叫 EnableRetryOnFailureByDefault
,因為它們已經啟用預設執行策略。
- Microsoft SQL Server (2012 及更新版本)
- Azure SQL
- Azure Synapse Analytics