Entity Framework Core kan komma åt många olika databaser via plugin-bibliotek som kallas databasproviders.
Aktuella leverantörer
Viktig
EF Core-leverantörer skapas av en mängd olika källor. Alla leverantörer underhålls inte som en del av Microsoft Entity Framework Core Project. När du överväger en leverantör bör du utvärdera kvalitet, licensiering, support osv. för att säkerställa att de uppfyller dina krav. Se också till att du läser dokumentationen för varje leverantör för detaljerad information om versionskompatibilitet.
Viktig
EF Core-leverantörer fungerar vanligtvis inte i större versioner. Till exempel kommer en provider som har släppts för EF Core 8 inte att fungera med EF Core 9.
När du har installerat den konfigurerar du providern i din DbContext, antingen i metoden OnConfiguring eller i metoden AddDbContext om du använder en container för beroendeinmatning.
Följande rad konfigurerar till exempel SQL Server-providern med den angivna anslutningssträngen:
Databasprovidrar kan utöka EF Core för att aktivera funktioner som är unika för specifika databaser. Vissa begrepp är gemensamma för de flesta databaser och ingår i de primära EF Core-komponenterna. Sådana begrepp omfattar att uttrycka frågor i LINQ, transaktioner och spåra ändringar i objekt när de har lästs in från databasen.
Vissa begrepp är specifika för en viss leverantör. Med SQL Server-providern kan du till exempel konfigurera minnesoptimerade tabeller (en funktion som är specifik för SQL Server). Andra begrepp är specifika för en klass av leverantörer.
EF Core-providrar för relationsdatabaser bygger till exempel på det gemensamma Microsoft.EntityFrameworkCore.Relational-biblioteket, som tillhandahåller API:er för att konfigurera tabell- och kolumnmappningar, begränsningar för sekundärnyckel osv. Leverantörer distribueras vanligtvis som NuGet-paket.
Viktig
När en ny korrigeringsversion av EF Core släpps innehåller den ofta uppdateringar av Microsoft.EntityFrameworkCore.Relational-paketet.
När du lägger till en relationsdatabasprovider blir det här paketet ett transitivt beroende av ditt program.
Men många leverantörer släpps oberoende av EF Core och kanske inte uppdateras för att använda den nyare patch-versionen av paketet.
För att se till att du får alla felkorrigeringar rekommenderar vi att du lägger till korrigeringsversionen av Microsoft.EntityFrameworkCore.Relational som ett direkt beroende av ditt program.
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.