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 开始,建议使用 UseAzureSql
和 UseAzureSynapse
来明确指定连接到 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