Compartilhar via


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