Entity Framework Core - vo co de? Mgr. Jiří Činčura jiri@cincura.net @cincura_net
Historie verzí ADO.NET Entity Framework 1.0 Entity Framework 4 Entity Framework 4.x Entity Framework 5.0 Entity Framework 6.x Entity Framework Everywhere Entity Framework 7 (EF7) Entity Framework Core 1.0 (EF Core 1.0)
EF Core Zpětná kompatibilita Posun dopředu Většina API stejná Ne zbytečné změny Posun dopředu Nové jádro, nový codebase Některé specifika EF6 nebudou implementována Nebo jinak
EF6 vs. EF Core 1.0 Stabilní RTM release Podpora ze strany databází Opravy a malé funkce budou přidávány EF6.2 v1 neobsahuje všechno jako plnophodnotný ORM Opravdu v1
EF6 vs. EF Core 1.0 EF6 je aktuálně správná volba pro většinu aplikací Přechod na EF Core není „jen update“ Změny v API a občasné změny v chování Chybějící funkce https://docs.efproject.net/en/latest/efcore-vs-ef6/features.html
COMMON INFRASTRUCTURE EF Core 1.0 – platformy .NET FRAMEWORK .NET CORE XAMARIN MODELS APP LIBRARIES BASE Base Class Library Core Library Mono Class Library ASP.NET WinForms WPF UWP ASP.NET Core * iOS Android Compilers Languages Runtime components COMMON INFRASTRUCTURE OS X EF6.x EF Core
EF Core 1.0 – úložiště Relační + nerelační v1.0 pouze relační SQL Server, SQLite, Postgres, SQL Compact Redis Azure Table Storage In-memory v1.0 pouze relační
EF Core 1.0 – nové funkce Dávkové SaveChanges Části LINQ dotazu vyhodnocované na klientovi Shadow state Sekvence v SQL Serveru Alternativní klíče
EF Core 1.0 – modularita Jádro modulární Služby a dependency injection Optimalizace spotřeby RAM a CPU Pay-per-play
EF Core 1.0 – modularita Top Level API DbContext, DbSet, ChangeTracker, Database, etc. Core Services StateManager, CompiledQueryCache, etc. Database Provider Services SqlServerTypeMapper, SqlServerSqlGenerationHelper, etc.
Demo
Dotazy