2. Entity Framework Core 1.0
Senthil Kumar
Microsoft MVP - Windows Development
& Visual Studio technologies
3. About Me
• Work at Cleartrip , Bangalore
• Microsoft MVP – Windows Development & Visual Studio technologies
• Co-author of Windows 10 App Development recipes using HTML and
JavaScript
• BDOTNETTER( Bangalore .NET User Group )
• .NET enthusiast
• Blog : DeveloperPublish.com
• Twitter : @isenthil
4. Agenda
• What is Entity Framework ?
• Entity Framework and .NET – Past , Present and Future
• Lean and Composable Framework via NuGet
• Missing features in Entity Framework Core 1.0
• Demo
5. ORM – Whats that ?
ORM is:
• (Wikipedia) A programming technique for converting data between incompatible type systems (such as DBMS) in relational
databases and object-oriented programming languages.
• It does the plumbing work for you to aggregate, modify and save your data back to its storage in Object Oriented manner
(easy to understand, maintain and extend)
6. ORM’s for .NET applications
• NHibernate, open source
• .netTiers, open source, based on commercial code generation tool (Codesmith)
• Developer Express, eXpress Persistent Objects (XPO)
• LLBLGen, open source drivers, commercial
• TierDeveloper, free ORM and code generation tool
• Subsonic, open source
• Micro-ORM’s like Dapper , Peta-POCO etc.
7. What is Entity Framework ?
• ORM from Microsoft.
• Data access framework
• Supports data-centric applications and services
• Enables programming against a conceptual application model
• Enables independency of any data storage engine or relational schema
8. Developer workflows
New
Database
Existing
Database
Designer Centric Code Centric
Database First
Reverse engineer model in EF Designer
Classes auto-generated from model
Model First
Create model in EF Designer
Generate database from model
Classes auto-generated from model
Code First
Define classes and mapping in code
EF Power Tools provide reverse engineer
Code First
Define classes and mapping in code
Database created from code
Migrations apply model changes to database
9. Versions
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
10. A core framework that handles concepts
common to most data stores with provider
specific extensions that become available when
you target a specific provider
Microsoft’s Vision for EF7
- Rowan Miller , EF Program Manager
EF6
Lots of features and bug fixes
Ability to ship all of EF out-of-band
23 community contributions
EF6.1
A few smaller features
120+ bug fixes
17 community contributions
EF6.1.1
57 bug fixes/small features
12 community contributions
Everything depends on ObjectContext API and Metadata workspace
Entity Framework dll is 5MB