Dostawcy bazy danychDatabase Providers

Program Entity Framework Core mają dostęp do wielu różnych baz danych za pomocą wtyczki bibliotek nazywanych dostawcami bazy danych.Entity Framework Core can access many different databases through plug-in libraries called database providers.

Bieżący dostawcówCurrent providers

Important

EF podstawowi dostawcy są tworzone przez różnych źródeł.EF Core providers are built by a variety of sources. Nie wszyscy dostawcy są obsługiwane jako część Entity Framework Core projektu.Not all providers are maintained as part of the Entity Framework Core Project. Rozważając dostawcę, należy ocenić jakości, licencjonowanie, obsługi, itp., aby upewnić się, że spełniają one wymagania.When considering a provider, be sure to evaluate quality, licensing, support, etc. to ensure they meet your requirements. Upewnij się, że Przejrzyj każdy dostawca dokumentacji dla wersji szczegółowe informacje o zgodności.Also make sure you review each provider's documentation for detailed version compatibility information.

Pakiet NuGetNuGet Package Obsługiwanych aparatów bazy danychSupported database engines Element utrzymujący / dostawcyMaintainer / Vendor Uwagi dotyczące / wymaganiaNotes / Requirements Przydatne łączaUseful links
Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.SqlServer SQL Server 2008 lub nowszymSQL Server 2008 onwards Projekt Core EF (Microsoft)EF Core Project (Microsoft) Dokumentacjadocs
Microsoft.EntityFrameworkCore.SqliteMicrosoft.EntityFrameworkCore.Sqlite SQLite 3.7 lub nowszejSQLite 3.7 onwards Projekt Core EF (Microsoft)EF Core Project (Microsoft) Dokumentacjadocs
Microsoft.EntityFrameworkCore.InMemoryMicrosoft.EntityFrameworkCore.InMemory Bazy danych w pamięci Core EFEF Core in-memory database Projekt Core EF (Microsoft)EF Core Project (Microsoft) Tylko do celów testowychFor testing only Dokumentacjadocs
Npgsql.EntityFrameworkCore.PostgreSQLNpgsql.EntityFrameworkCore.PostgreSQL PostgreSQLPostgreSQL Zespół deweloperów NpgsqlNpgsql Development Team Dokumentacjadocs
Pomelo.EntityFrameworkCore.MySqlPomelo.EntityFrameworkCore.MySql MySQL, MariaDBMySQL, MariaDB Pomelo Foundation projektuPomelo Foundation Project readmereadme
Pomelo.EntityFrameworkCore.MyCatPomelo.EntityFrameworkCore.MyCat MyCAT ServerMyCAT Server Pomelo Foundation projektuPomelo Foundation Project Wersja wstępna maksymalnie EF Core 1.1Pre-release, Up to EF Core 1.1 readmereadme
EntityFrameworkCore.SqlServerCompact40EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4.0SQL Server Compact 4.0 Erik Ejlskov JensenErik Ejlskov Jensen .NET Framework.NET Framework wikiwiki
EntityFrameworkCore.SqlServerCompact35EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3.5SQL Server Compact 3.5 Erik Ejlskov JensenErik Ejlskov Jensen .NET Framework.NET Framework wikiwiki
MySql.Data.EntityFrameworkCoreMySql.Data.EntityFrameworkCore MySQLMySQL Projekt MySQL (Oracle)MySQL project (Oracle) Wersja wstępnaPre-release Dokumentacjadocs
FirebirdSql.EntityFrameworkCore.FirebirdFirebirdSql.EntityFrameworkCore.Firebird Firebird 2.5 i 3.xFirebird 2.5 and 3.x Jiří ČinčuraJiří Činčura Podstawowe EF 2.0 lub nowszej, wersji wstępnejEF Core 2.0 onwards, Pre-release blogblog
EntityFrameworkCore.FirebirdSqlEntityFrameworkCore.FirebirdSql Firebird 2.5 i 3.xFirebird 2.5 and 3.x Rafael AlmeidaRafael Almeida EF Core 2.0 lub nowszejEF Core 2.0 onwards wikiwiki
IBM.EntityFrameworkCoreIBM.EntityFrameworkCore Db2, InformixDb2, Informix IBMIBM Wersja systemu WindowsWindows version blogblog
IBM.EntityFrameworkCore-lnxIBM.EntityFrameworkCore-lnx Db2, InformixDb2, Informix IBMIBM Wersji systemu LinuxLinux version blogblog
IBM.EntityFrameworkCore-osxIBM.EntityFrameworkCore-osx Db2, InformixDb2, Informix IBMIBM System macOS wersjimacOS version blogblog
Devart.Data.Oracle.EFCoreDevart.Data.Oracle.EFCore Oracle 9.2.0.4 i jego nowszych wersjachOracle 9.2.0.4 onwards DevArtDevArt PłatnejPaid Dokumentacjadocs
Devart.Data.PostgreSql.EFCoreDevart.Data.PostgreSql.EFCore PostgreSQL 8.0 lub nowszejPostgreSQL 8.0 onwards DevArtDevArt PłatnejPaid Dokumentacjadocs
Devart.Data.SQLite.EFCoreDevart.Data.SQLite.EFCore SQLite 3SQLite 3 onwards DevArtDevArt PłatnejPaid Dokumentacjadocs
Devart.Data.MySql.EFCoreDevart.Data.MySql.EFCore MySQL 5MySQL 5 onwards DevArtDevArt PłatnejPaid Dokumentacjadocs
EntityFrameworkCore.JetEntityFrameworkCore.Jet Pliki programu Microsoft AccessMicrosoft Access files BubiBubi EF Core 2.0, .NET FrameworkEF Core 2.0, .NET Framework readmereadme

Przyszłe dostawcówFuture Providers

Rozwiązania cosmos bazy danychCosmos DB

Ma firma Microsoft opracowuje EF Core dostawcy interfejsu API usługi DocumentDB w bazie danych rozwiązania Cosmos.We have been developing an EF Core provider for the DocumentDB API in Cosmos DB. Będzie to pierwszy dostawcy pełnej bazy danych, które są ukierunkowane dokumentu, który firma Microsoft tworzą i learnings w tym ćwiczeniu będzie informować ulepszenia projektu w późniejszych wersji po 2.1.This will be the first complete document-oriented database provider we have produced, and the learnings from this exercise are going to inform improvements in the design of the subsequent release after 2.1. Bieżący plan jest publikowanie wczesne Podgląd dostawcy w 2.1 przedziale czasu.The current plan is to publish an early preview of the provider in the 2.1 timeframe.

OracleOracle

Zespół Oracle .NET ma opublikowała planowania zwolnienia dostawcę firmy EF Core 2.0 w trzecim kwartale 2018.The Oracle .NET team has announced they are planning to release a first-party provider for EF Core 2.0 approximately in the third quarter of 2018. Zobacz ich instrukcji kierunku .NET Core i Core Framework jednostki Aby uzyskać więcej informacji.See their statement of direction for .NET Core and Entity Framework Core for more information. Należy kierować bezpośrednio odpowiedzi na pytania dotyczące tego dostawcy do wersji osi czasu, w tym witryna społeczności Oracle.Please direct any questions about this provider, including the release timeline, to the Oracle Community Site.

W tym czasie opracowała zespołu EF próbki EF Core dostawcy dla baz danych Oracle.In the meanwhile, the EF team has produced a sample EF Core provider for Oracle databases. Celem projektu nie jest do tworzenia dostawcy EF Core należących do firmy Microsoft, ale w celu ułatwienia identyfikacji luki funkcji relacyjnych i podstawowej EF podstawowych, które należy rozwiązać, aby zapewnić lepszą obsługę Oracle i Rozpocznij pracę rozwoju innych Oracle dostawcy podstawowych EF Oracle lub stron trzecich.The purpose of the project is not to produce an EF Core provider owned by Microsoft, but to help us identify gaps in EF Core's relational and base functionality which we need to address in order to better support Oracle, and to jumpstart the development of other Oracle providers for EF Core by either Oracle or third parties.

Firma Microsoft będzie uwzględniać wkładów zwiększających przykładowe zastosowanie.We will consider contributions that improve the sample implementation. Firma Microsoft może również Witamy i zachęca społeczności próbuje utworzyć dostawca programu Oracle open source podstawowych EF, przy użyciu przykładu jako punktu wyjścia.We would also welcome and encourage a community effort to create an open-source Oracle provider for EF Core, using the sample as a starting point.

Dodawanie dostawcy bazy danych do swojej aplikacjiAdding a database provider to your application

Większość dostawców bazy danych podstawowych EF są dystrybuowane jako pakietów NuGet.Most database providers for EF Core are distributed as NuGet packages. Oznacza to, mogą być instalowane za pomocą dotnet narzędzia w wierszu polecenia:This means they can be installed using the dotnet tool in the command line:

dotnet add package provider_package_name

Lub w programie Visual Studio przy użyciu konsoli Menedżera pakietów NuGet:Or in Visual Studio, using NuGet's Package Manager Console:

install-package provider_package_name

Po zakończeniu instalacji będzie skonfigurowania dostawcy w Twojej DbContext, albo w OnConfiguring metody lub w AddDbContext metodę, jeśli używasz kontener iniekcji zależności.Once installed, you will configure the provider in your DbContext, either in the OnConfiguring method or in the AddDbContext method if you are using a dependency injection container. Np.E.g. następujący wiersz Konfigurowanie dostawcy programu SQL Server z parametrami połączenia przekazany:the following line configures the SQL Server provider with the passed connection string:

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

Dostawcy bazy danych można rozszerzyć EF Core, aby włączyć funkcję unikatowe dla baz danych.Database providers can extend EF Core to enable functionality unique to specific databases. Niektóre pojęcia są wspólne dla baz danych i znajdują się w głównej EF podstawowych składników.Some concepts are common to most databases, and are included in the primary EF Core components. Takie pojęcia zawierać wyrażenia zapytania składnika LINQ, transakcje i śledzenie zmian obiektów, gdy są załadowane z bazy danych.Such concepts include expressing queries in LINQ, transactions, and tracking changes to objects once they are loaded from the database. Niektóre pojęcia są specyficzne dla określonego dostawcy.Some concepts are specific to a particular provider. Na przykład dostawcy programu SQL Server umożliwia skonfigurować tabele zoptymalizowane pod kątem pamięci (funkcja specyficzna dla programu SQL Server).For example, the SQL Server provider allows you to configure memory-optimized tables (a feature specific to SQL Server). Inne pojęcia są specyficzne dla klasy dostawców.Other concepts are specific to a class of providers. Na przykład tworzenie dostawców EF Core relacyjnych baz danych na typowe Microsoft.EntityFrameworkCore.Relational biblioteki, która udostępnia interfejsy API do skonfigurowania mapowania kolumn i tabel ograniczeń klucza obcego, itp. Dostawcy są zazwyczaj dystrybuowane jako pakietów NuGet.For example, EF Core providers for relational databases build on the common Microsoft.EntityFrameworkCore.Relational library, which provides APIs for configuring table and column mappings, foreign key constraints, etc. Providers are usually distributed as NuGet packages.

Important

Po wydaniu nowej wersji poprawki EF Core często obejmuje aktualizacje Microsoft.EntityFrameworkCore.Relational pakietu.When a new patch version of EF Core is released, it often includes updates to the Microsoft.EntityFrameworkCore.Relational package. Podczas dodawania dostawcy relacyjnej bazy danych, ten pakiet staje się przechodnie zależności aplikacji.When you add a relational database provider, this package becomes a transitive dependency of your application. Jednak wielu dostawców są wydawane niezależnie od EF Core i nie mogą być aktualizowane są zależne od nowszej wersji tego pakietu poprawek.But many providers are released independently from EF Core and may not be updated to depend on the newer patch version of that package. Aby upewnić się, otrzymasz wszystkie poprawki błędów, zaleca się dodanie wersja poprawki Microsoft.EntityFrameworkCore.Relational jako bezpośrednie zależności aplikacji.In order to make sure you will get all bug fixes, it is recommended that you add the patch version of Microsoft.EntityFrameworkCore.Relational as a direct dependency of your application.