Entity Framework

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Entity Framework je open source objektově-relační mapovací framework pro .NET Framework. Představuje knihovnu, která umožňuje vývojářům pracovat s daty pomocí objektů .NET Framework, místo aby pracovali s databázovými příkazy. Entity Framework umožňuje vytvářet aplikace, které mohou pracovat s různými databázovými systémy a snadno manipulovat s daty. Framework poskytuje několik klíčových funkcí, jako je ORM (Objektově-relační mapování), které umožňuje mapování relačních dat na objekty v programovacím jazyce. Tím umožňuje vývojářům pracovat s daty ve svém kódu jednodušeji a přehledněji. Entity Framework také podporuje zobrazování dat, transakce, cacheování a další funkce pro práci s daty. Je kompatibilní s různými verz

Entity Framework (EF) je open source framework objektově relační mapování (ORM) pro ADO.NET. Původně byl nedílná součást .NET Frameworku. Od Entity Framework verze 6 byl separován od .NET Frameworku a je dodáván samostatně.

Přehled

Entity Framework je sada technologií v ADO. NET, které podporují vývoj datově orientovaných softwarových aplikací. +more Architekti a vývojáři datově orientovaných aplikací se obvykle potýkali s potřebou dosáhnout dvou velmi odlišných cílů. Musí modelovat entity, vztahy a logiku obchodních problémů, které řeší, a musí také pracovat s tzv. storage engine používanými k ukládání a načítání dat. Data mohou zahrnovat více úložných systémů, každý s vlastními protokoly; dokonce i aplikace, které pracují s jediným úložným systémem, musí vyvážit požadavky úložného systému na požadavky psaní efektivního a udržovatelného aplikačního kódu. Tento problém se obecně označuje jako „nesoulad objektově-relační impedance“.

Bylo vyvinuto mnoho nástrojů objektově relačního mapování (ORM)(neboli „objektově-relačních správců“), které vývojářům umožňují pracovat s daty ve formě doménově-specifických objektů a vlastností, jako jsou zákazníci a adresy zákazníků, aniž by se museli zaobírat se základními databázovými tabulkami a sloupci, kde jsou tato data uložena. S ORM mohou vývojáři při práci s daty pracovat na vyšší úrovni abstrakce a mohou vytvářet a snadno udržovat datově orientované aplikace s kratším a přehlednějším zápisem kódu než v tradičních aplikacích. +more Entity Framework je aktuálně propagovaným řešením v rámci vývoje od společnosti Microsoft.

Historie

První verze Entity Framework (EFv1) byla součástí. NET Framework 3. +more5 Service Pack 1 a Visual Studio 2008 Service Pack 1, vydaného 11. srpna 2008. Tato verze byla široce kritizována, dokonce odstartovala „hlasování o nedůvěře“, které bylo podepsáno nejméně jedním tisícem vývojářů.

Druhá verze Entity Framework, pojmenovaná Entity Framework 4.0 (EFv4), byla vydána jako součást .NET 4.0 dne 12. dubna 2010.

Třetí verze Entity Framework, verze 4.1, byla vydána 12. dubna 2011 s podporou Code First.

Aktualizace verze 4.1 s názvem Entity Framework 4.1 Update 1 byla vydána 25. července 2011. Obsahuje opravy chyb a nové podporované typy.

Verze 4.3.1 byla vydána 29. února 2012. Došlo k mnoha vylepšením, například k podpoře migrace.

Verze 5. +more0 byla vydána 11. srpna 2012 a je zaměřena na rozhraní . NET Framework 4. 5. Tato verze je také k dispozici pro . NET framework 4, ale bez jakékoliv výhody v době běhu programu oproti verzi 4.

Verze 6. 0 byla vydána 17. +more října 2013 a nyní je open source projektem pod licencí Apache License v2. Stejně jako ASP. NET MVC je jeho zdrojový kód na GitHubu. Tato verze obsahuje řadu vylepšení pro podporu Code First.

Microsoft se poté rozhodl pro modernizovat a přišel s multiplatformní podporou na Linux, OSX a jiné, což znamená, že pro vznik další verze Entity Framework musel být celý kód EF přepsán. Dne 27. +more června 2016 byla vydána nová verze jako Entity Framework Core 1. 0, společně s ASP. NET Core 1. 0 a . NET Core 1. Původně byl pojmenován jako Entity Framework 7, ale přejmenovali ho, aby zdůraznili, že se jednalo spíše jen o úplné přepsání než o přírůstkový upgrade a nenahrazuje EF6.

Entity Framework Core 1. 0 je pod licencí Apache License v2 a je vyvíjen zcela přístupně na platformě GitHub. +more Zatímco Entity Framework Core 1. 0 sdílí některé koncepční podobnosti s předchozími verzemi Entity Framework, jedná se o zcela novou základnu kódu navrženou tak, aby byla efektivnější, výkonnější, flexibilnější a rozšiřitelnější, který bude fungovat v systémech Windows, Linux, OSX a bude podporovat celou řadu relačních a NoSQL datových úložišť.

Entity Framework Core 2.0 byl vydán 14. srpna 2017 spolu s Visual Studio 2017 15.3 a ASP.NET Core 2.0.

Entity Framework Core 3.0 byl vydán 23. září 2019 spolu s Visual Studio 2019 16.3 a ASP.NET Core 3.0.

Entity Framework Core 3.1 (EF Core 3.1) byl oficiálně vydán pro produkční užití 3. prosince 2019 a bude preferovanou a dlouhodobě podporovanou verzí minimálně do 3. prosince 2022.

Dotazování na data

Entity SQL

ADO. NET Entity Framework používá variantu strukturovaného dotazovacího jazyka s názvem Entity SQL, která je zaměřena na psaní deklarativních dotazů, na aktualizaci přes entity, a na vztahu entit - na koncepční úrovni. +more Liší se od SQL v tom, že nemá explicitní konstrukce pro JOIN, protože EDM je navrženo k abstraktnímu dělení dat napříč tabulkami.

Dotazování na koncepční model usnadňují třídy EntityClient, která přijímá dotaz Entity SQL. Pipeline rozebere Entity SQL dotaz do stromu příkazů a rozděluje dotaz mezi více tabulek, které jsou pak předány poskytovateli EntityClient. +more Stejně jako poskytovatelé dat ADO. NET je poskytovatel EntityClient také inicializován za pomocí objektu Connection, který kromě obvyklých parametrů úložiště dat a informací o ověřování vyžaduje SDL schéma a informace o mapování. Zprostředkovatel EntityClient pak zase změní strom příkazů Entity SQL na dotaz SQL v nativní verzi databáze. Provedení dotazu pak vrátí Entity SQL ResultSet, který není omezen na tabulkovou strukturu, na rozdíl od ADO. NET ResultSets.

Entity SQL vylepšuje SQL přidáním vlastní podpory pro:

* Typy, protože entity ADO.NET jsou typované. * Sady entit, se kterými se pracuje jako s kolekcemi. * Složitost, která odstraňuje omezení, kde lze použít poddotazy.

LINQ

LINQ usnadňuje transformaci, třídění a propojování dat a vyhledávání v nich.

Poskytovatel LINQ to Entities umožňuje LINQ použít k dotazování na různé zdroje dat RDBMS. K dispozici je několik poskytovatelů specifických pro databázový server s podporou Entity Framework.

Související články

Doctrine (PHP) * Hibernate

Odkazy

Reference

Literatura

Lee, Craig (June 14, 2010), [url=https://web. archive. +moreorg/web/20121001210614/http://www. informit. com/store/product. aspx. isbn=0672330741]ADO. NET Entity Framework Unleashed[/url] (1st ed. ), Sams, p. 600, archived from the original on October 1, 2012 * Lerman, Julia (August 2010), [url=http://oreilly. com/catalog/9780596807252/]Programming Entity Framework[/url] (2nd ed. ), O'Reilly Media, p. 912, ISBN 978-0-596-80726-9 * Jennings, Roger (February 3, 2009), [url=https://web. archive. org/web/20121010093636/http://www. wiley. com/WileyCDA/WileyTitle/productCd-047018261X. html]Professional ADO. NET 3. 5 with LINQ and the Entity Framework[/url] (1st ed. ), Wrox, p. 672, archived from the original on 2012-10-10, retrieved 2010-02-06 * Mostarda, Stefano (December 2010), Entity Framework 4. 0 in Action (1st ed. ), Manning Publications, p. 450, ISBN 978-1-935182-18-4.

Externí odkazy

[url=https://docs. microsoft. +morecom/cs-cz/ef/ef6/. redirectedfrom=MSDN]ADO. NET Entity Framework (Data Developer Center)[/url] * [url=https://github. com/dotnet/ef6]Zdrojový kód Entity Framework verze 6 na GitHub[/url] * [url=https://github. com/dotnet/efcore]EntityFramework[/url] on GitHub.

Kategorie:. +moreNET Kategorie:Software pod licencí Apache Kategorie:Objektově relační mapování Kategorie:Aplikační software Kategorie:API Microsoftu Kategorie:Databáze Kategorie:Výpočetní technika.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top