Poskytovatelé databází
Entity Framework Core přístup k mnoha různým databázím prostřednictvím knihoven modulů plug-in, které se nazývají poskytovatelé databází.
Aktuální poskytovatelé
Důležité
EF Core poskytovatelé jsou sestaveni z různých zdrojů. Ne všichni poskytovatelé se udržují jako součást Entity Framework Core Project. Při zvažování poskytovatele nezapomeňte vyhodnotit kvalitu, licencování, podporu atd., aby splňoval vaše požadavky. Nezapomeňte také zkontrolovat podrobné informace o kompatibilitě verzí v dokumentaci jednotlivých poskytovatelů.
Důležité
EF Core poskytovatelé obvykle pracují napříč podverdmi, ale ne napříč hlavními verzemi. Například poskytovatel vydaný pro EF Core 2.1 by měl pracovat s EF Core 2.2, ale nebude fungovat s EF Core 3.0.
Přidání poskytovatele databáze do aplikace
většina poskytovatelů databáze pro EF Core je distribuována jako NuGet balíčky a lze ji nainstalovat následujícím způsobem:
dotnet add package provider_package_name
Po instalaci nakonfigurujete poskytovatele v DbContext , a to buď v metodě, OnConfiguring nebo v metodě, AddDbContext Pokud používáte kontejner pro vkládání závislostí.
například následující řádek konfiguruje poskytovatele SQL Server s předaným připojovacím řetězcem:
optionsBuilder.UseSqlServer(
"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
Poskytovatelé databáze mohou rozšířeně EF Core, aby povolily funkce jedinečné pro konkrétní databáze.
Některé koncepce jsou společné pro většinu databází a jsou součástí primárních EF Core součástí.
Tyto koncepty zahrnují vyjádření dotazů v LINQ, transakcích a sledování změn objektů, jakmile jsou načteny z databáze.
Některé koncepce jsou specifické pro konkrétního poskytovatele.
poskytovatel SQL Server například umožňuje konfigurovat paměťově optimalizované tabulky (funkce specifické pro SQL Server).
Další koncepty jsou specifické pro třídu zprostředkovatelů.
Například poskytovatele EF Core pro relační databáze sestavují na společné Microsoft.EntityFrameworkCore.Relational knihovně, která poskytuje rozhraní API pro konfiguraci mapování tabulek a sloupců, omezení cizího klíče atd. poskytovatelé jsou obvykle distribuováni jako balíčky NuGet.
Důležité
Při vydání nové verze opravy EF Core obsahuje často aktualizace Microsoft.EntityFrameworkCore.Relational balíčku.
Když přidáte poskytovatele relační databáze, tento balíček se bude přenositelným závislostí vaší aplikace.
Ale mnoho poskytovatelů je vydaných nezávisle na EF Core a nemusí být aktualizované na základě novější verze opravy tohoto balíčku.
Abyste se ujistili, že budete dostávat všechny opravy chyb, doporučujeme přidat opravu verze Microsoft.EntityFrameworkCore.Relational jako přímou závislost vaší aplikace.