Entity Framework Core heeft toegang tot veel verschillende databases via invoegtoepassingsbibliotheken die databaseproviders worden genoemd.
Huidige providers
Belangrijk
EF Core-providers worden gebouwd door verschillende bronnen. Niet alle providers worden onderhouden als onderdeel van het Microsoft Entity Framework Core Project. Wanneer u een provider overweegt, moet u ervoor zorgen dat u kwaliteit, licenties, ondersteuning, enzovoort evalueert om ervoor te zorgen dat deze voldoen aan uw vereisten. Zorg er ook voor dat u de documentatie van elke provider bekijkt voor gedetailleerde versiecompatibiliteitsinformatie.
Belangrijk
EF Core-providers werken doorgaans niet over grote versies heen. Een provider die is uitgebracht voor EF Core 8 werkt bijvoorbeeld niet met EF Core 9.
Zodra de provider is geïnstalleerd, configureert u de provider in uw DbContext, in de OnConfiguring methode of in de AddDbContext methode als u een afhankelijkheidsinjectiecontainer gebruikt.
Met de volgende regel configureert u bijvoorbeeld de SQL Server-provider met de doorgegeven verbindingsreeks:
Databaseproviders kunnen EF Core uitbreiden om functionaliteit in te schakelen die uniek is voor specifieke databases. Sommige concepten zijn gebruikelijk voor de meeste databases en zijn opgenomen in de primaire EF Core-onderdelen. Dergelijke concepten omvatten het uitdrukken van query's in LINQ, transacties en het bijhouden van wijzigingen in objecten zodra ze vanuit de database zijn geladen.
Sommige concepten zijn specifiek voor een bepaalde provider. Met de SQL Server-provider kunt u bijvoorbeeld tabellen die zijn geoptimaliseerd voor geheugen configureren (een functie die specifiek is voor SQL Server). Andere concepten zijn specifiek voor een klasse providers.
EF Core-providers voor relationele databases bouwen bijvoorbeeld voort op de algemene Microsoft.EntityFrameworkCore.Relational-bibliotheek, die API's biedt voor het configureren van tabel- en kolomtoewijzingen, beperkingen voor refererende sleutels, enzovoort. Providers worden meestal gedistribueerd als NuGet-pakketten.
Belangrijk
Wanneer er een nieuwe patchversie van EF Core wordt uitgebracht, bevat deze vaak updates voor het Microsoft.EntityFrameworkCore.Relational-pakket.
Wanneer u een relationele databaseprovider toevoegt, wordt dit pakket een transitieve afhankelijkheid van uw toepassing.
Maar veel providers worden onafhankelijk van EF Core uitgebracht en kunnen niet worden bijgewerkt om afhankelijk te zijn van de nieuwere patchversie van dat pakket.
Om ervoor te zorgen dat u alle oplossingen voor fouten krijgt, wordt u aangeraden de patchversie van Microsoft.EntityFrameworkCore.Relational toe te voegen als een directe afhankelijkheid van uw toepassing.
Met ons samenwerken op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.