Sdílet prostřednictvím


Zprostředkovatelé databáze

Entity Framework Core má přístup k mnoha různým databázím prostřednictvím knihoven modulů plug-in, které se nazývají zprostředkovatelé databází.

Aktuální zprostředkovatelé

Important

Zprostředkovatelé EF Core jsou vytvářeni z různých zdrojů. Ne všichni poskytovatelé jsou udržováni jako součást projektu Microsoft Entity Framework Core. Při zvažování zprostředkovatele nezapomeňte posoudit kvalitu, licencování, podporu atd., abyste se ujistili, že splňuje vaše požadavky. Zjistěte si také z dokumentace ke každému zprostředkovateli podrobné informace o kompatibilitě verzí.

Important

Poskytovatelé EF Core obvykle nefungují napříč hlavními verzemi. Například poskytovatel vydaný pro EF Core 8 nebude fungovat s EF Core 9.

Balíček NuGet Podporované databázové stroje Správce/dodavatel Poznámky/požadavky Pro EF Core Užitečné odkazy
Microsoft.EntityFrameworkCore.SqlServer Azure SQL, SQL Server 2012 a novější, Azure Synapse Analytics Projekt EF Core (Microsoft) 8, 9, 10 docs
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 a novější Projekt EF Core (Microsoft) 8, 9, 10 docs
Microsoft.EntityFrameworkCore.InMemory Databáze EF Core v paměti Projekt EF Core (Microsoft) Limitations 8, 9, 10 docs
Microsoft.EntityFrameworkCore.Cosmos Rozhraní API služby Azure Cosmos DB pro SQL Projekt EF Core (Microsoft) 8, 9, 10 docs
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Vývojový tým Npgsql 8, 9 docs
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Projekt Pomelo Foundation 8, 9 readme
MySql.EntityFrameworkCore MySQL Projekt MySQL (Oracle) 8, 9 docs
Oracle.EntityFrameworkCore Oracle DB 19c a novější Oracle 8, 9, 10 docs
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 docs
Couchbase.EntityFrameworkCore Couchbase Couchbase 8, 9 docs
Devart.Data.MySql.EFCore MySQL od verze 5 DevArt Paid 8, 9 docs
Devart.Data.Oracle.EFCore Oracle DB od verze 9.2.0.4 DevArt Paid 8, 9 docs
Devart.Data.PostgreSql.EFCore PostgreSQL od verze 8.0 DevArt Paid 8, 9 docs
Devart.Data.SQLite.EFCore SQLite od verze 3 DevArt Paid 8, 9 docs
Devart.Data.DB2.EFCore DB2 DevArt Paid 8, 9 docs
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt Paid 8, 9 docs
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Paid 8, 9 docs
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Paid 8, 9 docs
Devart.Data.Magento.EFCore Magento DevArt Paid 8, 9 docs
Devart.Data.MailChimp.EFCore Mailchimp DevArt Paid 8, 9 docs
Devart.Data.QuickBooks.EFCore QuickBooks DevArt Paid 8, 9 docs
Devart.Data.Salesforce.EFCore Salesforce DevArt Paid 8, 9 docs
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt Paid 8, 9 docs
Devart.Data.Sugar.EFCore SugarCRM DevArt Paid 8, 9 docs
Devart.Data.Zoho.EFCore Zoho CRM DevArt Paid 8, 9 docs
Devart.Data.ZohoBooks.EFCore Zoho Knihy DevArt Paid 8, 9 docs
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt Paid 8, 9 docs
MASES.EntityFrameworkCore.KNet Apache Kafka Skupina MASES Zkušební verze, předplatné 8 docs
InterBase InterBase InterBase 8 docs
FirebirdSql.EntityFrameworkCore.Firebird Firebird od verze 3.0 Jiří Činčura 8 docs
IBM.EntityFrameworkCore Db2, Informix IBM Placené, Windows 8 začínáme
IBM.EntityFrameworkCore-lnx Db2, Informix IBM Placený, Linux 8 začínáme
IBM.EntityFrameworkCore-osx Db2, Informix IBM Placené, macOS 8 začínáme
EntityFrameworkCore.Jet Soubory Microsoft Access CirrusRedOrg Windows 8, 9 readme
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Ekosystém Cloud Spanner 8 tutorial
Teradata.EntityFrameworkCore Teradata Database od verze 16.10 Teradata 3 website
FileContextCore Ukládá data do souborů Morris Janatzek Pro účely vývoje 3 readme
FileBaseContext Ukládání tabulek do souborů k.D.g Pro účely vývoje 8, 9, 10 readme
EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3.5 Erik Ejlskov Jensen .NET Framework 2 wiki
EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4.0 Erik Ejlskov Jensen .NET Framework 2 wiki
EntityFrameworkCore.OpenEdge Progress OpenEdge Alex Wiese 2 readme
EFCore.Snowflake Snowflake Krzysztof Sielaff 8 readme
EFCore.Kusto Azure Data Explorer (Kusto) Anas Ismail Khan 8 readme
EntityFrameworkCore.Ydb YDB Tým YDB 9, 10 website

Přidání zprostředkovatele databáze do aplikace

Většina zprostředkovatelů databází pro EF Core se distribuuje formou balíčků NuGet a lze je nainstalovat následujícím způsobem:

dotnet add package provider_package_name

Po instalaci nakonfigurujete zprostředkovatele ve své instanci DbContext, a to buď v metodě OnConfiguring, nebo v metodě AddDbContext, pokud používáte kontejner injektáže závislostí. Následující řádek například konfiguruje zprostředkovatele SQL Serveru s předaným připojovacím řetězcem:

optionsBuilder.UseSqlServer(
    @"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");

Zprostředkovatelé databází mohou rozšířit funkčnost EF Core tak, aby umožňovala funkce jedinečné pro konkrétní databáze. Některé koncepty jsou společné pro většinu databází a jsou obsaženy v základních komponentách EF Core. Mezi tyto koncepty patří například dotazování v LINQ, transakce a sledování změn objektů po jejich načtení z databáze. Některé koncepty jsou specifické pro konkrétního zprostředkovatele. Zprostředkovatel SQL Serveru například umožňuje konfigurovat paměťově optimalizované tabulky (funkce specifická pro SQL Server). Jiné koncepty jsou specifické pro určitou třídu zprostředkovatelů. Například zprostředkovatelé EF Core pro relační databáze staví na společné knihovně Microsoft.EntityFrameworkCore.Relational, která poskytuje rozhraní API pro konfiguraci mapování tabulek a sloupců, omezení cizích klíčů atd. Zprostředkovatelé jsou obvykle distribuováni formou balíčků NuGet.

Important

Když je vydána nová opravná verze EF Core, často obsahuje aktualizace balíčku Microsoft.EntityFrameworkCore.Relational. Když přidáte zprostředkovatele relační databáze, stane se tento balíček přechodnou závislostí vaší aplikace. Řada zprostředkovatelů je však vydávána nezávisle na EF Core a nemusí být aktualizována tak, aby závisela na novější opravné verzi tohoto balíčku. Abyste měli jistotu, že získáte všechny opravy chyb, doporučujeme přidat opravnou verzi Microsoft.EntityFrameworkCore.Relational jako přímou závislost vaší aplikace.