Entity Framework Core può accedere a molti database diversi tramite librerie plug-in denominate provider di database.
Provider correnti
Importante
I provider di EF Core vengono compilati da diverse origini. Non tutti i provider vengono mantenuti come parte del progetto Microsoft Entity Framework Core. Quando si prende in considerazione un provider, valutarne con cura gli aspetti relativi a qualità, licenze, supporto e così via, per essere certi che soddisfi i requisiti correnti. Assicurarsi anche di esaminare la documentazione di ogni provider per informazioni dettagliate sulla compatibilità delle versioni.
Importante
I provider EF Core in genere non funzionano tra le versioni principali. Ad esempio, un provider rilasciato per EF Core 7 non funzionerà con EF Core 8.
Dopo l'installazione, il provider verrà configurato nel DbContext, nel metodo OnConfiguring o nel metodo AddDbContext se si usa un contenitore di inserimento delle dipendenze.
Ad esempio, la riga seguente consente di configurare il provider SQL Server con la stringa di connessione passata:
I provider di database possono estendere EF Core per abilitare funzionalità univoche per database specifici. Alcuni concetti sono comuni alla maggior parte dei database e sono inclusi nei componenti primari di EF Core. Tali concetti includono l'espressione di query in LINQ, le transazioni e il rilevamento delle modifiche agli oggetti dopo che sono stati caricati dal database.
Alcuni concetti sono specifici di un determinato provider. Il provider SQL Server, ad esempio, consente di configurare le tabelle ottimizzate per la memoria, una funzionalità specifica di SQL Server. Altri concetti sono specifici di una classe di provider.
Ad esempio, i provider EF Core per i database relazionali si basano sulla libreria comune Microsoft.EntityFrameworkCore.Relational , che fornisce API per la configurazione di mapping di tabelle e colonne, vincoli di chiave esterna e così via. I provider vengono in genere distribuiti come pacchetti NuGet.
Importante
Quando viene rilasciata una nuova versione di patch di EF Core, spesso include aggiornamenti per il pacchetto Microsoft.EntityFrameworkCore.Relational.
Quando si aggiunge un provider di database relazionale, il pacchetto diventa una dipendenza transitiva dell'applicazione.
Molti provider vengono però rilasciati in modo indipendente da EF Core e potrebbero non essere aggiornati in modo da dipendere dalla versione di patch più recente del pacchetto.
Per assicurarsi di ottenere tutte le correzioni di bug, è consigliabile aggiungere la versione di patch di Microsoft.EntityFrameworkCore.Relational come dipendenza diretta dell'applicazione.
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.