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