Poskytovatelé databázíDatabase Providers
Entity Framework Core můžete přístup k mnoha různým databázím pomocí modulu plug-in knihoven, které se nazývají poskytovatelé databáze.Entity Framework Core can access many different databases through plug-in libraries called database providers.
Aktuální zprostředkovatelůCurrent providers
Důležité
EF Core poskytovatelé jsou vytvořené pomocí široké škály zdrojů.EF Core providers are built by a variety of sources. Ne všichni poskytovatelé se zachovají v rámci Entity Framework Core projektu.Not all providers are maintained as part of the Entity Framework Core Project. Při zvažování zprostředkovatele, nezapomeňte vyhodnotit kvality, licencování, podpora, atd. a ujistěte se, že splňují vaše požadavky.When considering a provider, be sure to evaluate quality, licensing, support, etc. to ensure they meet your requirements. Ujistěte se také, abyste že si přečetli dokumentaci každého poskytovatele podrobné informace o verzi kompatibility.Also make sure you review each provider's documentation for detailed version compatibility information.
Další zprostředkovateléFuture Providers
Cosmos DBCosmos DB
Jsme se vývojem poskytovatele EF Core pro rozhraní SQL API ve službě Cosmos DB.We have been developing an EF Core provider for the SQL API in Cosmos DB. To bude první poskytovatel kompletní dokumentově orientované databáze, kterou jsme vytvořili, a poznatky z tohoto cvičení se chystáte informovat vylepšení v návrhu budoucí verze EF Core a případně dalších nerelačních poskytovatelů.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 future releases of EF Core and possibly other non-relational providers. Ve verzi preview je k dispozici na Galerie NuGet.A preview is available on the NuGet Gallery.
OracleOracle
Tým Oracle .NET oznámil, že jsou plánování vydat vlastní zprostředkovatele pro jádro EF Core přibližně ve třetím čtvrtletí roku 2018.The Oracle .NET team has announced they are planning to release a first-party provider for EF Core approximately in the third quarter of 2018. Zobrazit jejich příkaz směr pro .NET Core a Entity Framework Core Další informace.See their statement of direction for .NET Core and Entity Framework Core for more information. Sdělte jakékoliv otázky týkající se tohoto zprostředkovatele, včetně na časové ose verze web komunity Oracle.Please direct any questions about this provider, including the release timeline, to the Oracle Community Site.
Mezitím vytvořil tým EF EF Core zprostředkovateli ukázek pro databáze Oracle.In the meanwhile, the EF team has produced a sample EF Core provider for Oracle databases. Účelem projektu je nechcete vytvořit poskytovatele EF Core vlastněných společností Microsoft.The purpose of the project is not to produce an EF Core provider owned by Microsoft. Začali jsme projekt tak, aby identifikovat mezery v EF Core relační a základní funkce, které jsme potřebovali adresu k zajištění lepší podpory pro Oracle.We started the project to identify gaps in EF Core's relational and base functionality which we needed to address in order to better support Oracle. By mělo také pomoci společnosti Oracle nebo třetími stranami úvodního kurzu JumpStart týkajícího vývoj poskytovatelé Oracle pro jádro EF Core.It should also help Oracle or third parties jumpstart the development of Oracle providers for EF Core.
Posoudíme příspěvky, které zlepšují ukázková implementace.We will consider contributions that improve the sample implementation. Také by Vítáme a podporu komunity snahy o vytvoření poskytovatele open-source systému Oracle pro jádro EF Core pomocí ukázky jako výchozí bod.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.
Přidání poskytovatele databáze do vaší aplikaceAdding a database provider to your application
Většina poskytovatelů databázi pro EF Core se distribuují jako balíčky NuGet.Most database providers for EF Core are distributed as NuGet packages. To znamená, že můžete nainstalovat s použitím dotnet
nástroj na příkazovém řádku:This means they can be installed using the dotnet
tool in the command line:
dotnet add package provider_package_name
Nebo v sadě Visual Studio pomocí konzoly Správce balíčků NuGet:Or in Visual Studio, using NuGet's Package Manager Console:
install-package provider_package_name
Po instalaci, které budete konfigurovat poskytovatele v vaše DbContext
, buď v OnConfiguring
metoda nebo v AddDbContext
metody, pokud používáte kontejner vkládání závislostí.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.
Například následující řádek nakonfiguruje zprostředkovatele SQL Server předaný připojovacím řetězcem:For example, the following line configures the SQL Server provider with the passed connection string:
optionsBuilder.UseSqlServer(
"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
Poskytovatelé databází můžete rozšířit EF Core povolit funkce, které jsou jedinečné pro konkrétní databáze.Database providers can extend EF Core to enable functionality unique to specific databases.
Některé koncepty jsou společné pro většinu databází a jsou zahrnuty v primární součásti EF Core.Some concepts are common to most databases, and are included in the primary EF Core components.
Tyto koncepty zahrnují vyjádření dotazy v LINQ, transakce a sledování změn na objekty, jakmile jsou načteny z databáze.Such concepts include expressing queries in LINQ, transactions, and tracking changes to objects once they are loaded from the database.
Některé koncepty jsou specifické pro konkrétního poskytovatele.Some concepts are specific to a particular provider.
Například zprostředkovatele SQL Server umožňuje konfigurace paměťově optimalizovaných tabulek (funkce specifické pro systém SQL Server).For example, the SQL Server provider allows you to configure memory-optimized tables (a feature specific to SQL Server).
Další koncepty jsou specifické pro třídu zprostředkovatelů.Other concepts are specific to a class of providers.
Například sestavit EF Core zprostředkovatelé pro relační databáze na společné Microsoft.EntityFrameworkCore.Relational
knihovny, která poskytuje rozhraní API pro konfiguraci mapování tabulky a sloupce, omezení cizího klíče, atd. Poskytovatelé se obvykle distribuují jako balíčky 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.
Důležité
Po vydání nové verze opravy EF Core, často obsahuje aktualizace Microsoft.EntityFrameworkCore.Relational
balíčku.When a new patch version of EF Core is released, it often includes updates to the Microsoft.EntityFrameworkCore.Relational
package.
Při přidání poskytovatele relační databáze, bude tento balíček tranzitivní závislostí vaší aplikace.When you add a relational database provider, this package becomes a transitive dependency of your application.
Ale mnoho poskytovatelů vydávají nezávisle z EF Core a nejspíš nepůjde aktualizovat na závisí na novější verzi tohoto balíčku opravy.But many providers are released independently from EF Core and may not be updated to depend on the newer patch version of that package.
Pokud chcete mít jistotu, zobrazí se všechny opravy chyb, se doporučuje přidat oprav verze Microsoft.EntityFrameworkCore.Relational
jako přímou závislost aplikace.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.
Váš názor
Rádi uslyšíme, co si myslíte vy. Vyberte odpovídající typ:
Náš systém zpětné vazby je založený na problémech v GitHubu. Další informace najdete na našem blogu.
Načítání názorů...