Condividi tramite


Microsoft SQL Server EF Core Database Provider

Questo provider di database consente l'uso di Entity Framework Core con Microsoft SQL Server (incluso Azure SQL e Azure Synapse Analytics). Il provider viene gestito come parte del Entity Framework Core Project.

Installare

Installare il pacchetto NuGet Microsoft.EntityFrameworkCore.SqlServer.

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

Nota

Il provider fa riferimento a Microsoft.Data.SqlClient (non a System.Data.SqlClient). Se il progetto ha una dipendenza diretta da SqlClient, assicurati che faccia riferimento al pacchetto Microsoft.Data.SqlClient.

Consiglio

Il pacchetto Microsoft.Data.SqlClient viene fornito più frequentemente del provider EF Core. Se si desidera sfruttare le nuove funzionalità e le correzioni di bug, è possibile aggiungere un riferimento diretto al pacchetto alla versione più recente di Microsoft.Data.SqlClient.

Avvertimento

L'implementazione asincrona di Microsoft.Data.SqlClient purtroppo presenta alcuni problemi noti, ad esempio #593, #601e altri. Se si verificano problemi di prestazioni imprevisti, provare ad utilizzare l'esecuzione sincrona dei comandi, soprattutto quando si gestiscono valori di testo o binari di grandi dimensioni.

Uso

A partire da EF 9, è consigliabile usare UseAzureSql e UseAzureSynapse per specificare che ci si connette ad Azure SQL o Azure Synapse Analytics in modo specifico e UseSqlServer per specificare che ci si connette a SQL Server locale; in questo modo il provider può ottimizzare e supportare correttamente queste piattaforme. È anche consigliabile usare UseCompatibilityLevel metodo per specificare il livello di compatibilità in modo che SQL generato sia compatibile e/o usi le funzionalità più recenti possibili.

Nota

I metodi UseAzureSql e UseAzureSynapse sono stati introdotti in EF Core 9.0.

Motori di database supportati

  • Microsoft SQL Server (2012 e versioni successive)
  • Azure SQL
  • Azure Synapse Analytics