entity framework
DESCRIPTION
Entity Framework. Rowan Miller Program Manager Microsoft. What to expect in this session. Mix of level 100-300 content Mostly demos EF6 and EF7 Some previously seen content, some new stuff. Agenda. Where are we at? A quick look at recent and in-flight releases Demos EF6 in action - PowerPoint PPT PresentationTRANSCRIPT
Entity FrameworkRowan MillerProgram ManagerMicrosoft
What to expect in this sessionMix of level 100-300 contentMostly demosEF6 and EF7Some previously seen content, some new stuff
AgendaWhere are we at?A quick look at recent and in-flight releases
Demos EF6 in action
Where are we going?What EF7 is all about
Demos EF7 in action
Where are we at?
Versions
Entity Framework 3.5 SP1
Entity Framework 4
Entity Framework 4.1 -> 4.3
Entity Framework 5
Entity Framework 6 -> 6.1.1
Core runtime in .NET FrameworkNewer runtime pieces out-of-band (NuGet)Tooling in Visual Studio
Runtime in .NET FrameworkTooling in Visual Studio
Runtime out-of-band (NuGet)Tooling out-of-band (Microsoft Download Center)Latest version “chained in” to new Visual Studio releases
Entity Framework 6.1.2Entity Framework 7
Recent ReleasesEF6Lots of features and bug fixesAbility to ship all of EF out-of-band23 community contributions
EF6.1A few smaller features120+ bug fixes17 community contributions
EF6.1.157 bug fixes/small features12 community contributions
Demos | EF6 in action
Demo
Reverse Engineer Code First + Custom Code Generation
Demo
Testing with EF6
Where are we going?
Entity Framework 7EF6 supported scenariosFull .NET Framework (ASP.NET & traditional desktop applications)Relational databases
EF7 enabling new scenariosNew platforms (Windows Phone, Windows Store, etc.)New data stores (Non-relational)
Challenges with current code baseLong history going back to the WinFS daysExtensive use of older APIs and design patternsHeavy use of APIs not available on all platforms Lots of seldom used code/featuresMonolithic implementationUnintuitive behaviors woven throughout code base
Not optimized for density/devicesHigh memory footprint
Tight coupling to relational concepts
What we are doingLightweight, extensible version of EF Just the commonly used features (and many new features)Built using modern design patternsDbContext and code-based modelling only
Not a micro-O/RMStill supports LINQ, change tracking, unit of work, etc.
Support relational & non-relational storesNot a high level abstraction over all data storesProvide high level services that are useful on all/most storesNon-common concerns handled by provider extensions
Design principlesKeep EF6 patternsOnly break from existing patterns where there is good reason
Pay per playSimpler apps will require fewer resourcesLow memory footprint
ExtensibleSimple high level API over building blocksEasy to replace/extend individual building blocks as needed
Sensible defaults, less magicOnly support magic where it supports long term success
What about EF6 apps?You don’t have to upgradeEF6 is still supportedUpdates to EF6 will continue (we’ve done EF6.1 and EF6.1.1 in parallel with EF7)
Not all EF6 features will be in 7.0.0We don’t expect everyone to be able to upgrade immediately
Upgrade is a key scenarioSame concepts, same patternsSome code changes will be needed
Get involved in EF7Open sourcehttp://github.com/aspnet/EntityFramework
Nightly builds now availableSee GitHub Wiki for details
Demos | EF7 sneak peek
Demo
New EF, new placesWindows PhoneSQLite
Demo
New EF, old placesWinFormsClient/Server query evaluationIn-memory data storeAzure Table Storage
LinksThese links and more - bit.ly/EFdotnetConf (case sensitive)Team blog – blogs.msdn.com/adonet Documentation – msdn.com/data/ef EF6 Project – EntityFramework.codeplex.com EF7 Project – github.com/aspnet/EntityFrameworkTwitter – @efmagicunicorns Facebook – facebook.com/efmagicunicorns