Provedor de Banco de Dados EF Core do Microsoft SQL Server
Esse provedor de banco de dados permite que o Entity Framework Core seja usado com o Microsoft SQL Server (incluindo o SQL do Azure e o Azure Synapse Analytics). O provedor é mantido como parte do Projeto do Entity Framework Core.
Instalar
Instale o pacote NuGet Microsoft.EntityFrameworkCore.SqlServer.
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
Nota
O provedor faz referência a Microsoft.Data.SqlClient (não System.Data.SqlClient). Se o projeto usa uma dependência direta do SqlClient, verifique se ele faz referência ao pacote Microsoft.Data.SqlClient.
Dica
O pacote Microsoft.Data.SqlClient é fornecido com mais frequência do que o provedor EF Core. Se você quiser aproveitar os novos recursos e correções de bugs, poderá adicionar uma referência de pacote direto à versão mais recente do Microsoft.Data.SqlClient.
Aviso
A implementação assíncrona de Microsoft.Data.SqlClient infelizmente tem alguns problemas conhecidos (por exemplo, #593, #601e outros). Se você estiver vendo problemas inesperados de desempenho, tente usar a execução síncrona de comandos, especialmente ao lidar com grandes volumes de texto ou valores binários.
Uso
A partir do EF 9, é recomendável usar UseAzureSql
e UseAzureSynapse
para especificar que você está se conectando especificamente ao SQL do Azure ou ao Azure Synapse Analytics e UseSqlServer
para especificar que você está se conectando ao SQL Server local; Isso permite que o provedor otimize e dê suporte corretamente a essas plataformas. Também é recomendável usar UseCompatibilityLevel
método para especificar o nível de compatibilidade para que o SQL gerado seja compatível e/ou use os recursos mais recentes possíveis.
Nota
Os métodos UseAzureSql e UseAzureSynapse foram introduzidos no EF Core 9.0.
Mecanismos de banco de dados com suporte
- Microsoft SQL Server (2012 em diante)
- Azure SQL
- Azure Synapse Analytics