#td17ch
Entity Framework – Der
Umstieg auf Core
René Leupold
@renegade_net
Agenda
Überblick Entity Framework
DbContext
Mapping Szenarien
Lade-Strategien
Performance
Weitere Schritte
Abgrenzung
Beispiele NoSQL
Beispiele Plattformen (Linux, OS X, Tizen)
Beispiele Mobile Geräte
Ziel
Gemeinsamkeiten und Unterschiede
Entscheidungsgrundlagen für Einsatz
Vorgehen bei Portierung
Überblick
Entity Framework
Überblick Entity Framework
Neue Runtime Komponenten NuGet
Basis Runtime Komponenten in .NET
Werkzeuge in Visual Studio
Runtime in .NET Framework
Werkzeuge in Visual Studio
Runtime auf NuGet
Werkzeuge auf Microsoft
Download Center
Letzte Version in Visual Studio
Neue Plattformen
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
*
Ziel - Entscheidungsgrundlagen für Einsatz
Erste Erfahrungen
EF 6 EF Core
DbContext
ObjectContext
DbContext EF 6 & EF Core
ObjectContext
DbContext
DbContext
EDMX
DbContext EF 6 & EF Core Metadata
Conceptual Model
Mapping
Storage Model
Modular
EntityFrameworkCore
EntityFrameworkCore
.Relational
EntityFrameworkCore
.SqlServer
Demo
DbContext
Vorgehensarten
Top Down
EF 6
P
EF Core
P
Konvention
Konfiguration
Klassen
Mapping
DB Schema
Middle Out
EF Core
O
Mapping
Klassen
DB Schema
EF 6
P
Bottom up
EF Core
O
DB Schema
Mapping
Klassen
EF 6
P
Geplant mit
EF Core 2.0
DbContext Unterschiede
- EDMX Designer gibt es nicht mehr
- Entity SQL ebenfalls
- Namensräume unterschiedlich
- Einige Szenarien fehlen
EF Core Neue Funktionen
Batching während SaveChanges
Client eval in Linq-Abfragen
Alternate Keys
Backing Fields
Computed Columns
Query Filters
Mapping-Szenarien
One to One
EF Core
P
EF 6
P
One to Many
EF Core
P
EF 6
P
Many to Many
EF Core
O
EF 6
P
N:1 1:N
N:1 1:N
EF Core
P
EF 6
P
One Class different tables
EF Core
O
EF 6
P
Different classes one table
EF Core
O
EF 6
P
Complex/Value Types
EF Core
P
EF 6
P
EF Core 2.0
Preview 1
Selfreference
EF Core
P
EF 6
P
Enum
EF Core
P
EF 6
P
Comuted Columns
EF Core
P
EF 6
P
EF Core
HasComputedColumnSql
Spatial data types
EF Core
O
EF 6
P
High priority
Stored procedure mapping
EF Core
O
EF 6
P
High priority
Table per Hierarchy (TPH)
EF Core
P
EF 6
P
Diskriminator Feldlänge
Klassen im Model
Table per Type (TPT)
EF Core
O
EF 6
P
High priority
Table per Concrete Type (TPC)
EF Core
O
EF 6
P
High priority
Lade-Strategien
Eager Loading
EF Core
P
EF 6
P
Explicit Loading
EF Core
P
EF 6
P
Ab EF Core 1.1
Lazy Loading
EF Core
O
EF 6
P
Performance
Demo
Testing
Testing
Weitere Schritte
Weitere Schritte
• Roadmap Entity Framework
• https://docs.microsoft.com/en-us/ef/
• https://github.com/renegadexx/ChangeToEfCore
• Vergleich EF 6 und EF Core
• Portierung
@renegade_net

Entity Framework Core - Der Umstieg auf Core