SlideShare a Scribd company logo
Ido Flatow
Entity Framework Core (EF Core) 1.0
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatowJoin the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
About Me
Senior Architect, Sela Group
Microsoft Regional Director, and an ASP.NET/IIS MVP
Co-author of courses and books
Focus on server, web, and cloud
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Entity Framework Project Status
New runtime components on NuGet
Core runtime components in .NET
Tooling in Visual Studio
Runtime in .NET Framework
Tooling in Visual Studio
Runtime on NuGet
Tooling on Microsoft Download Center
Latest version included in Visual Studio
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Today
Written to target relational databases
EF6.x DLL files are over 5MB
Runs only on full .NET Framework
No support for batch updates
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
EF Core Key Features
Rewritten from the ground up to be lightweight (under 1MB)
New platforms & data stores
IoC friendly and extensible
Optimized query generation
Code-First only
Batching
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
New Platforms
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
New Data Stores
Relational & non-relational
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.)
In Memory (for testing)
Azure Table Storage
Redis cache
Just relational providers for v1.0
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Lightweight & Extensible Core
Same top level experience as EF6.x
Still DbContext/DbSet etc.
New core
Core = metadata, change tracking, query pipeline, etc.
Built as a collection of services with dependency injection
Easier to replace/extend services
Replace confusing APIs & behavior
Optimized for memory and CPU usage
Pay-per-play components
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
EF6.x – The End?!
Will continue to be a supported release
Microsoft will continue with bug fixes and small improvements to
the code base
First preview of EF6.2 will be available shortly after EF Core
reaches RTM
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Some New Features
Mixed C#/database eval in LINQ queries
Batch save
SQL query improvements
Shadow state properties
Alternate keys
TrackGraph API
Demo
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
EF Core Basics
Demo
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
LINQ and SQL Query Improvements
Demo
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Simplified Metadata API
Demo
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Extensible Core
Demo
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
New Data Stores
Demo
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
New Features
Demo
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
New Platforms
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
EF Core 1.0 Feature Status (condensed version)
Backlog
Lazy loading
Complex value types
Stored procedure mapping
Data seeding
Update model from database
Many-to-many relationships
without a join entity
Inheritance mapping with TPT and
TPC
Command interception
In Progress
Bug fixing
Performance improvements
LINQ improvements
Documentation and Intellisense
Thrown out
EDMX
Entity SQL
ObjectContext API
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
EF Core & EF6.x
EF6.x will be the right choice for many applications
Carefully evaluate requirements if considering EF Core
Some important features not implemented in 1.0 (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
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
When to Use EF Core?
New applications that do not need the features that are not yet
implemented in EF Core
Applications that target .NET Core, such as Universal Windows
Platform (UWP) and ASP.NET Core applications
Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
Next Steps
Documentation
docs.efproject.net
github.com/aspnet/EntityFramework/wiki/Roadmap
Repositories
github.com/aspnet/EntityFramework
github.com/rowanmiller/Demo-EFCore
Blogs
blogs.msdn.microsoft.com/dotnet
blogs.msdn.com/b/adonet (older)
My demo code
git.io/voYzr

More Related Content

PPTX
What's New in WCF 4.5
PPTX
ASP.NET Core 1.0 Overview
PPTX
A Whirldwind Tour of ASP.NET 5
PPTX
Advanced WCF Workshop
PPTX
.Net Core - not your daddy's dotnet
PDF
A Bit of REST
PDF
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
PDF
Require js training
What's New in WCF 4.5
ASP.NET Core 1.0 Overview
A Whirldwind Tour of ASP.NET 5
Advanced WCF Workshop
.Net Core - not your daddy's dotnet
A Bit of REST
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Require js training

What's hot (20)

PPTX
Microsoft ASP.NET 5 - The new kid on the block
PPTX
ASP.NET Core MVC + Web API with Overview
PPTX
.Net Core 1.0 vs .NET Framework
PPTX
Introduction to ASP.NET 5
PDF
Hidden gems in cf2016
PDF
Dot Net Core
PPTX
What is new in .NET 4.5
PPT
Restful API's with ColdFusion
PPTX
Load Balancing, Failover and Scalability with ColdFusion
PPTX
Mobile Applications Made Easy with ColdFusion 11
PPTX
Workflows and Digital Signatures
PPTX
10 Reasons ColdFusion PDFs should rule the world
PPTX
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
PDF
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...
PPTX
ASP.NET 5: What's the Big Deal
PDF
EVOLVE'14 | Enhance | Anshul Chhabra & Akhil Aggrawal | Cisco - AEM High Avai...
PPTX
Intro to Coldfusion
PPTX
Mini-Training Owin Katana
PDF
PDF
Bring api manager into your stack
Microsoft ASP.NET 5 - The new kid on the block
ASP.NET Core MVC + Web API with Overview
.Net Core 1.0 vs .NET Framework
Introduction to ASP.NET 5
Hidden gems in cf2016
Dot Net Core
What is new in .NET 4.5
Restful API's with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
Mobile Applications Made Easy with ColdFusion 11
Workflows and Digital Signatures
10 Reasons ColdFusion PDFs should rule the world
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...
ASP.NET 5: What's the Big Deal
EVOLVE'14 | Enhance | Anshul Chhabra & Akhil Aggrawal | Cisco - AEM High Avai...
Intro to Coldfusion
Mini-Training Owin Katana
Bring api manager into your stack
Ad

Viewers also liked (19)

PPTX
Powershell For Developers
PPTX
The Essentials of Building Cloud-Based Web Apps with Azure
PPTX
Debugging the Web with Fiddler
PPTX
ASP.NET Core 1.0
PPTX
Production debugging web applications
PPTX
IIS for Developers
PPTX
Introducing HTTP/2
PDF
IaaS vs. PaaS: Windows Azure Compute Solutions
PPTX
Introduction to HTTP/2
PPTX
Debugging with Fiddler
PPTX
Learning ASP.NET 5 and MVC 6
PDF
What HTTP/2.0 Will Do For You
PPTX
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
PPTX
Building IoT and Big Data Solutions on Azure
PPTX
Debugging your Way through .NET with Visual Studio 2015
PPTX
ASP.NET Web API and HTTP Fundamentals
PPTX
Introduction to HTTP/2
PPTX
HTTP/2 Changes Everything
PDF
High Performance Web - Full Stack Toronto
Powershell For Developers
The Essentials of Building Cloud-Based Web Apps with Azure
Debugging the Web with Fiddler
ASP.NET Core 1.0
Production debugging web applications
IIS for Developers
Introducing HTTP/2
IaaS vs. PaaS: Windows Azure Compute Solutions
Introduction to HTTP/2
Debugging with Fiddler
Learning ASP.NET 5 and MVC 6
What HTTP/2.0 Will Do For You
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
Building IoT and Big Data Solutions on Azure
Debugging your Way through .NET with Visual Studio 2015
ASP.NET Web API and HTTP Fundamentals
Introduction to HTTP/2
HTTP/2 Changes Everything
High Performance Web - Full Stack Toronto
Ad

Similar to EF Core (RC2) (20)

PDF
Net In Action Second Edition Meap V06 2nd Chapters 1 To 12 Of 13 Dustin Metzgar
PDF
Dot NET Core Interview Questions PDF By ScholarHat
PDF
Net Framework vs .Net Core A Complete Comparison.pdf
PPTX
NET app modernization and Microsoft Azure.pptx
PPTX
PPTX
Introduction to .net
PPTX
Dot net-interview-questions-and-answers part i
PDF
Dot net-interview-questions-and-answers part i
PDF
.Net framework vs .net core a complete comparison
PDF
PPT
Oracle Web ADI Implementation Steps
PDF
Asp.net Web Development.pdf
PDF
Microsoft .NET 6 -What's All About The New Update
PPTX
What's New in Visual Studio 2010
PPTX
ASP.NET Core 101
PPTX
Visual Studio 2012 introduction
PDF
DOT NET TRaining
PPTX
.NET 4 Demystified - Sandeep Joshi
DOCX
The Seven Pillars Of Asp.Net
PDF
Dot net interview_questions
Net In Action Second Edition Meap V06 2nd Chapters 1 To 12 Of 13 Dustin Metzgar
Dot NET Core Interview Questions PDF By ScholarHat
Net Framework vs .Net Core A Complete Comparison.pdf
NET app modernization and Microsoft Azure.pptx
Introduction to .net
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
.Net framework vs .net core a complete comparison
Oracle Web ADI Implementation Steps
Asp.net Web Development.pdf
Microsoft .NET 6 -What's All About The New Update
What's New in Visual Studio 2010
ASP.NET Core 101
Visual Studio 2012 introduction
DOT NET TRaining
.NET 4 Demystified - Sandeep Joshi
The Seven Pillars Of Asp.Net
Dot net interview_questions

More from Ido Flatow (6)

PPTX
Google Cloud IoT Core
PPTX
Introduction to HTTP/2
PPTX
Production Debugging War Stories
PPTX
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
PPTX
Caching in Windows Azure
PPTX
Automating Windows Azure
Google Cloud IoT Core
Introduction to HTTP/2
Production Debugging War Stories
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Caching in Windows Azure
Automating Windows Azure

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Empathic Computing: Creating Shared Understanding
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Unlocking AI with Model Context Protocol (MCP)
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Network Security Unit 5.pdf for BCA BBA.
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Empathic Computing: Creating Shared Understanding
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Spectral efficient network and resource selection model in 5G networks
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I

EF Core (RC2)

  • 1. Ido Flatow Entity Framework Core (EF Core) 1.0 Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatowJoin the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow
  • 2. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow About Me Senior Architect, Sela Group Microsoft Regional Director, and an ASP.NET/IIS MVP Co-author of courses and books Focus on server, web, and cloud
  • 3. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow Entity Framework Project Status New runtime components on NuGet Core runtime components in .NET Tooling in Visual Studio Runtime in .NET Framework Tooling in Visual Studio Runtime on NuGet Tooling on Microsoft Download Center Latest version included in Visual Studio
  • 4. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow Today Written to target relational databases EF6.x DLL files are over 5MB Runs only on full .NET Framework No support for batch updates
  • 5. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow EF Core Key Features Rewritten from the ground up to be lightweight (under 1MB) New platforms & data stores IoC friendly and extensible Optimized query generation Code-First only Batching
  • 6. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES New Platforms
  • 7. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow New Data Stores Relational & non-relational 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.) In Memory (for testing) Azure Table Storage Redis cache Just relational providers for v1.0
  • 8. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow Lightweight & Extensible Core Same top level experience as EF6.x Still DbContext/DbSet etc. New core Core = metadata, change tracking, query pipeline, etc. Built as a collection of services with dependency injection Easier to replace/extend services Replace confusing APIs & behavior Optimized for memory and CPU usage Pay-per-play components
  • 9. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow EF6.x – The End?! Will continue to be a supported release Microsoft will continue with bug fixes and small improvements to the code base First preview of EF6.2 will be available shortly after EF Core reaches RTM
  • 10. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow Some New Features Mixed C#/database eval in LINQ queries Batch save SQL query improvements Shadow state properties Alternate keys TrackGraph API
  • 11. Demo Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow EF Core Basics
  • 12. Demo Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow LINQ and SQL Query Improvements
  • 13. Demo Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow Simplified Metadata API
  • 14. Demo Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow Extensible Core
  • 15. Demo Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow New Data Stores
  • 16. Demo Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow New Features
  • 17. Demo Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow New Platforms
  • 18. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow EF Core 1.0 Feature Status (condensed version) Backlog Lazy loading Complex value types Stored procedure mapping Data seeding Update model from database Many-to-many relationships without a join entity Inheritance mapping with TPT and TPC Command interception In Progress Bug fixing Performance improvements LINQ improvements Documentation and Intellisense Thrown out EDMX Entity SQL ObjectContext API
  • 19. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow EF Core & EF6.x EF6.x will be the right choice for many applications Carefully evaluate requirements if considering EF Core Some important features not implemented in 1.0 (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. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow When to Use EF Core? New applications that do not need the features that are not yet implemented in EF Core Applications that target .NET Core, such as Universal Windows Platform (UWP) and ASP.NET Core applications
  • 21. Join the conversation on Twitter: #ndcoslo // @NDC_Conferences // @idoFlatow Next Steps Documentation docs.efproject.net github.com/aspnet/EntityFramework/wiki/Roadmap Repositories github.com/aspnet/EntityFramework github.com/rowanmiller/Demo-EFCore Blogs blogs.msdn.microsoft.com/dotnet blogs.msdn.com/b/adonet (older) My demo code git.io/voYzr

Editor's Notes

  • #19: https://github.com/aspnet/EntityFramework/wiki/Roadmap#features http://www.c-sharpcorner.com/article/new-features-of-entity-framework-7/