Framework Rowan Miller Program Manager Microsoft What to expect in this session Mix of level 100300 content Mostly demos EF6 and EF7 Some previously seen content some new stuff Agenda Where are we at ID: 476712
Download Presentation The PPT/PDF document "Entity" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Entity Framework
Rowan MillerProgram ManagerMicrosoftSlide2
What to expect in this sessionMix of level 100-300 contentMostly demosEF6 and EF7Some previously seen content, some new stuffSlide3
AgendaWhere are we at?A quick look at recent and in-flight releasesDemos EF6 in actionWhere are we going?What EF7 is all about
Demos EF7 in actionSlide4
Where are we at?Slide5
Versions
Entity Framework 3.5 SP1Entity Framework 4
Entity Framework
4.1 -> 4.3
Entity Framework 5
Entity Framework
6 -> 6.1.1
Core runtime in .NET Framework
Newer runtime pieces out-of-band (
NuGet
)
Tooling
in Visual Studio
Runtime in .NET Framework
Tooling 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.2
Entity Framework 7Slide6
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 contributionsEF6.1.157 bug fixes/small features12 community contributionsSlide7
Demos | EF6 in actionSlide8
Demo
Reverse Engineer Code First + Custom Code GenerationSlide9
Demo
Testing with EF6Slide10
Where are we going?Slide11
Entity Framework 7EF6 supported scenariosFull .NET Framework (ASP.NET & traditional desktop applications)Relational databasesEF7 enabling new scenariosNew platforms (Windows Phone,
Windows Store, etc.)New data stores (Non-relational)Slide12
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 baseNot optimized for density/devicesHigh memory footprintTight coupling to relational conceptsSlide13
What we are doingLightweight, extensible version of EF Just the commonly used features (and many new features)Built using modern design patterns
DbContext and code-based modelling onlyNot 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 extensionsSlide14
Design principlesKeep EF6 patternsOnly break from existing patterns where there is good reasonPay per playSimpler apps will require fewer resources
Low memory footprintExtensibleSimple high level API over building blocksEasy to replace/extend individual building blocks as neededSensible defaults, less magicOnly support magic where it supports long term successSlide15
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 immediatelyUpgrade is a key scenario
Same concepts, same patternsSome code changes will be neededSlide16
Get involved in EF7Open sourcehttp://github.com/aspnet/EntityFrameworkNightly builds now availableSee GitHub Wiki for detailsSlide17
Demos | EF7 sneak peekSlide18
Demo
New EF, new placesWindows PhoneSQLiteSlide19
Demo
New EF, old placesWinFormsClient/Server query evaluationIn-memory data storeAzure Table StorageSlide20
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