Deep Dive intoEntity Framework 6Diego VegaDeveloper LeadMicrosoft
Deep Dive into EF6 | Agenda Runtime Open & Release Demo Post EF6 Source Designer details features
EF Overview | What is EF? • Recommended technology to connect .NET Microsoft’s applications to databases Object/Relational • LINQ against disparate relational databases Mapper • Make .NET & Windows Azure the best platform for data centered apps Product goals • Be the most productive data access API
EF6 | Open Source DevelopmentLook mom, it’s Open Source!!! Git repository at entityframework.codeplex.com Code under Apache 2.0 license Nightly builds available Accepting contributions Only EF team has commit rights to repo Contributions go through same code review process as internal changes 13 pull requests, 9 accepted Currently working to add designer to out Git repoOnly affects how we develop, not how we ship Same Microsoft branding, license, quality and support at RTM
EF6 Runtime | Fully Out-Of-BandEF5 Runtime EF6 Runtime Core bits in .NET Framework All classes in NuGet package In the GAC Core classes copied into new namespace Some bits in NuGet package Most applications should just work with (DbContext, Code First, Migrations) recompile, some namespace changes Providers, frameworks and tools typically Bin-deployable need more updatesMajor features required .NET All of enums, spatial, TVFs andFramework Changes! EF5 performance improvements now work on .NET 4!
EF6 Runtime | New FeaturesAsync query & save Code First improvements .NET 4.5 Only Custom conventionsConnection resiliency (auto-retry) CUD stored procedure mappingDependency resolution Migrations history table customizationCode-based configuration Multiple contexts per databaseConnection & transaction More performance improvementsmanagement in DbContext
EF6 Tooling Unification Model First & Database First (EF Designer) Code First – Existing Database (EF Power Tools) Code First – New Database (No Tooling)
Getting EF6Updating existing applicationsCode First Stored Procedure Mapping for CUDAsync Query and SaveCode-based configurationCustom Code First Conventions
EF6 | Release TimelineAlpha 3 of the runtime available now on NuGet Will keep shipping preview versions every 1 or 2 months Nightly builds available from NuGet feed on MyGetEF 6 Tools preview within next couple of monthsRTM In the box in Visual Studio vNext EF6 Runtime available on NuGet Works with VS2010/.NET 4 onwards Downloadable tooling update for Visual Studio 2012Updates to runtime and designer can be shipped between VS releases
Post EF6 potential features - vote @ef.mswish.netEF for Windows Store Apps with More flexible LINQ translationSQLite for local data Implicit boundaries Also Windows Phone support? Expression variables supportBatch updates Data caching (2nd level cache)SQL generation improvements First class DDD aggregatesMore flexible mapping Disconnected graphs support Mapping to fields SQL Federations & Sharding Type conversions Micro-O/RM-like capabilities Shadow state Unique constraints Untyped objects Serializing to BLOB columns Query hintsLifecycle hooks ???