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.

NuGet balíček Podporované databázové stroje Správce/dodavatel Poznámky a požadavky Sestaveno pro verzi Užitečné odkazy
Microsoft.EntityFrameworkCore.SqlServer SQL Server 2012 a novější EF Core Project (Microsoft) 6.0 Dokumenty
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.7 a novější EF Core Project (Microsoft) 6.0 Dokumenty
Microsoft.EntityFrameworkCore.InMemory EF Core databáze v paměti EF Core Project (Microsoft) Omezení 6.0 Dokumenty
Microsoft.EntityFrameworkCore. Cosmos Rozhraní API služby Azure Cosmos DB pro SQL EF Core Project (Microsoft) 6.0 Dokumenty
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Vývojový tým Npgsql 6.0 Dokumenty
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelo Foundation Project 6.0 Soubor readme
MySql.EntityFrameworkCore MySQL Projekt MySQL (Oracle) 5.0 Dokumenty
Oracle.EntityFrameworkCore Oracle DB 11.2 a novější Oracle 5.0 Webové stránky
Devart.Data.MySql.EFCore MySQL 5 a novější Vývojový diagram Placené 5.0 Dokumenty
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 a novější Vývojový diagram Placené 5.0 Dokumenty
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 a novější Vývojový diagram Placené 5.0 Dokumenty
Devart.Data.SQLite.EFCore SQLite 3 a novější Vývojový diagram Placené 5.0 Dokumenty
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 a novější Přichytáá Činčura 5.0 Dokumenty
IBM. EntityFrameworkCore Db2, Informix IBM Placené, Windows 5.0 Začínáme
IBM. EntityFrameworkCore-lnx Db2, Informix IBM Placené, Linux 5.0 Začínáme
IBM. EntityFrameworkCore – OSX Db2, Informix IBM Placené, macOS 5.0 Začínáme
EntityFrameworkCore. Jet Soubory aplikace Microsoft Access Bubi 3.1 Tool
Teradata. EntityFrameworkCore Databáze Teradata 16,10 a vyšší Teradata 3.1 webu
Google. Cloud. EntityFrameworkCore. Spanner Google Cloud Spanner Ekosystém cloudového Spanner Aktuálně ve verzi Preview 3.1 návodu
FileContextCore Ukládá data do souborů. Morris Janatzek Pro účely vývoje 3.0 Tool
EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3.5 Erik Ejlskov Jensen .NET Framework 2,2 komunity
EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4,0 Erik Ejlskov Jensen .NET Framework 2,2 komunity
EntityFrameworkCore.OpenEdge Progress OpenEdge Alex Wiese 2.1 Tool

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.