Presentation is loading. Please wait.

Presentation is loading. Please wait.

Entity Framework 7 Who Are You & What Have You Done to my ORM?

Similar presentations


Presentation on theme: "Entity Framework 7 Who Are You & What Have You Done to my ORM?"— Presentation transcript:

1 Entity Framework 7 Who Are You & What Have You Done to my ORM?
Julie Lerman theDataFarm.com @julielerman

2 My Courses on Getting Started with EF6
Domain-Driven Design Fundamentals Looking Ahead to Entity Framework 7 EF6 Ninja Edition: What’s New in EF6 Automated Testing for Fraidy Cats Like Me Getting Started with Entity Framework 5 Entity Framework in the Enterprise Entity Framework Code First Migrations Data Layer Validation with Entity Framework 4.1+ Entity Framework DbContext Data Access Entity Framework Code First Querying the Entity Framework Designer Supported EDM Customization Entity Framework and Data Models Entity Framework 4.0 By Example

3 LET’S CODE

4 EF 1-6 so much technical debt!

5 EF7 A complete rewrite Familiar APIs Better APIs
Not backwards compatible

6 “New Platforms, New Data Stores” Features We’ve Longed For
Object Context EDMX

7 EF7 Won’t Require Full .NET Framework
Core CLR/DNX Cross Plat DNX Windows 10 UAP & Full .NET Framework ASP.NET 5 Windows 8 Phone & Store (not in 7.0.0)

8 Lean & Composable Just get what you need! Redis
Support for Relational providers Redis provider for EF7 System. Interactive.Async EF7 Core SQL Server provider for EF7 SQLite Provider Azure Table Storage provider for EF7 In-Memory provider for EF7 System.Data. Common Support for Migrations Some NoSQL Provider Some Other NoSQL Provider Lean & Composable Just get what you need! Github Dev Branch

9 EF7 Progress & Releases Light Weight New Features EF6 Parity Non- RDMS
EF7 Future Release EF7 for ASP.NET5 v7.0.0 EF7 Goals Light Weight New Features EF6 Parity Non- RDMS Light Weight (Most) New Features (Some) EF6 Parity Light Weight New Features EF6 Parity Non- RDMS Beta8 Oct 2015 RC1 Nov 2015 EF7.0.0 ASPNet Q1 2016 EF6 remains default EntityFramework EF6 Support Continues EF7 becomes default EntityFramework Features best for web apps

10 EF7.Later When EF7 Becomes “The EF”
Complex Types (for Value Object support) Explicit Loading Richer Logging Deeper change tracking API (e.g. Entry support for props, relationships) Stored Procedure Mappings (for SaveChanges) Connection Resiliency

11 Data Stores Relational Databases Non-Relational Providers
SQL Server SQLite for Device & Cross Platform Support SQL Compact (ErikEJ) Adding PostgreSQL (npgsql) Data Stores Non-Relational Providers NoSQL (proof of concept: Azure Table Storage) In-Memory (for integration testing w EF, not DB) Redis Cache (proof of concept) More . . .

12 ORM with NoSQL WAT?

13 Entity Model DbContext API Migrations LINQ to Entities Change Tracking
Familiar APIs Entity Model DbContext API Migrations LINQ to Entities Change Tracking SaveChanges

14 Code Based Modeling Only DbContext API Only Simpler Metadata API
Lighter Weight API Code Based Modeling Only Reverse engineer database still supported DbContext API Only Lower level functions from ObjectContext will be in DbContext Simpler Metadata API Losing some edge case mapping capabilities

15 Enable Long-Requested Features
Batch CUD Unique Constraints* Client & Server Query Evaluation Shadow State for Entities In-Memory Provider for Fakes & Test Doubles IOC Friendly Type Conversions Default Database Values data.uservoice.com Enable Long-Requested Features

16 Some Changes Fluent Relationshi ps Raw SQL
HasMany, HasOne, WithMany, WithOne Replaced Has/With Many, Optional, Required Raw SQL FromSQL(xxxxxxxxxxxx) Composable FromSQL(xxxxxxx).LinqMethod() Runtime Database Initialization EnsureCreated, EnsureDeleted No More DbInitializers

17 Help for Disconnected Graphs in EF7
Apply to everything in graph Enum parameter to affect just the root Add Attach *Update* Affects only the root DbContext .Entry.State Specify state for graph or your own behavior for graph or per node DbContext .ChangeTracker. TrackGraph Familiar APIs New Behavior New API

18 Post EF 7.0.0 Explicit Loading DbSet.Find Inheritance (see Roadmap!
github.com/aspnet/EntityFramework/wiki/Roadmap)

19 Biggest Planned Feature Cuts
EDMX Support ObjectContext API Entity SQL Metadata Workspace API Overly Complex Mappings MEST (Multiple Entities for Single Type) Mapping Automatic Migrations DbInitalization

20 Resources github.com/aspnet/entityframework
github.com/aspnet/EntityFramework/wiki/Roadmap My Pluralsight course on EF7: bit.ly/PS-EF7Alpha January 2016 MSDN Mag Deep Dive into EF7 Migrations

21 Julie Lerman Web: theDataFarm.com


Download ppt "Entity Framework 7 Who Are You & What Have You Done to my ORM?"

Similar presentations


Ads by Google