Download presentation
Presentation is loading. Please wait.
Published byBrent Benson Modified over 6 years ago
1
Microsoft Build 2016 11/15/2018 6:28 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
2
B852 Entity Framework Core Rowan Miller Program Manager
3
Naming history Entity Framework Everywhere Entity Framework 7 (EF7)
Entity Framework Core (EF Core) 1.0
4
Agenda Introducing EF Core EF Core and EF6.x Demos Next steps
5
Setting expectations Listed as a level 200 session
Should have something for everyone ( ) This is an EF Core session Preview of what’s ahead Not a look at current stable releases
6
Introducing EF Core
7
Entity Framework project status
Runtime on NuGet Tooling on Microsoft Download Center Latest version included in Visual Studio Entity Framework Core 1.0 Entity Framework 6.x Entity Framework 5 New runtime components on NuGet Core runtime components in .NET Tooling in Visual Studio Entity Framework 4.x Entity Framework 4 Runtime in .NET Framework Tooling in Visual Studio Entity Framework 3.5 SP1
8
New platforms
9
COMMON INFRASTRUCTURE
New platforms .NET FRAMEWORK .NET CORE XAMARIN MODELS APP WPF Windows Forms UWP iOS Android ASP.NET ASP.NET Core * OS X LIBRARIES BASE Base Class Library Core Library Mono Class Library Compilers Languages Runtime components COMMON INFRASTRUCTURE EF6.x EF Core
10
New data stores
11
New data stores Relational & non-relational Example providers
Not a magic abstraction High level services that are useful on all/most stores Non-common concerns handled by provider extensions Example providers Relational (SQL Server, SQLite, Postgres, SQL Compact etc.) Azure Table Storage Redis In Memory (for testing) Just relational providers for v1.0.0
12
New features
13
New features Batching during SaveChanges Client eval in LINQ queries
Shadow state properties SQL Server sequences Alternate keys
14
Lightweight & extensible core
15
Lightweight & extensible core
Top level API built over a modular core Core = metadata, SQL generation, change tracking, etc. Built as a collection of services Follows dependency injection principles Easy to use/replace/extend individual services Optimized for memory and CPU usage Pay-per-play components
16
EF Core & EF6.x
17
EF Core Mindful of our past… …but not constrained by it
Same top level experience as EF6.x Not changing things just for the sake of it …but not constrained by it New code base Completely different core Not all features from EF6.x will be implemented
18
EF Core & EF6.x EF6.x is the mature data stack EF Core is a true v1
8 years of RTM releases = features and stability Rich ecosystem of database providers Patch and minor releases will continue EF Core is a true v1 Basic feature set shipping in v1 Limited set of early adopter database providers
19
EF Core & EF6.x EF6.x will be the right choice for many applications
Carefully evaluate requirements if considering EF Core Many features not implemented in (e.g. lazy loading, stored procedure mapping, etc.) Less mature code base (e.g. LINQ translator has limitations) EF6.x to EF Core is “port” not “upgrade” Very basic code will port easily Many APIs have changed drastically Beware of behavior differences in similarly named APIs
20
Demos
21
Demo EF Core 101
22
Demo Performance improvements
23
Demo Simplified metadata API
24
Demo Extensible core
25
Extensible core Top Level API DbContext, DbSet, ChangeTracker, Database, etc. Core Services StateManager, CompiledQueryCache, etc. Database Provider Services SqlServerTypeMapper, SqlServerSqlGenerationHelper, etc.
26
Demo Model building pipeline
27
EF6.x model building pipeline
Entity Classes Conventions Context DbSet properties OnModelCreating DbSet Discovery Model Configuration
28
EF Core model building pipeline
Entity Classes Conventions Context DbSet properties OnModelCreating DbSet Discovery Model
29
Demo Same model, multiple platforms
30
Demo Same model, multiple databases
31
Demo SQL generation improvements
32
Next steps
33
Next steps docs.efproject.net github.com/aspnet/EntityFramework
github.com/rowanmiller/Demo-EFCore
34
Related breakout sessions
MARCH 31 APRIL 1 3:30pm .NET Overview Scott Hunter & Scott Hanselman 5:00pm Introducing ASP.NET Core Scott Hanselman 6:30pm The Future of C# Mads Torgersen & Dustin Campbell 9:00am Entity Framework Core Rowan Miller 10:30am Building Desktop Apps in Visual Studio ’15’ Unni Ravindranathan 12:30pm ASP.NET Core Deep Dive into MVC Scott Hunter & Dan Roth 2:00pm Deploying ASP.NET Core Applications Dan Roth All Build sessions on demand on Channel 9
35
dotnetConf 2016 For more information http://www.dotnetconf.net
Immerse yourself in the world of .NET Join us for 3 days of free online content, brought to you by the .NET Community and Microsoft product teams. For more information
36
Please Complete An Evaluation Form Your input is important!
11/15/2018 Please Complete An Evaluation Form Your input is important! or © 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
37
11/15/2018 6:28 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.