presentation

Werbung
Entity Framework
Ein Überblick
René Leupold
IS Developer
Comgate Solutions AG
.NET User Group Bern
www.dnug-bern.ch
Grösste aktive .NET User Group der Schweiz
Regelmässige Treffen mit Schwerpunktthemen
Nächste Events
Mo, 30.5.2011
Do, 9.6.2011
User Experience Crash Kurs
DotNetNuke
Agenda
Überblick
Architektur
Vorgehensweisen
Philosophie EDM-Designer/Code First
Vergleich ObjectContext/DbContext
Zusammenfassung
Überblick
Überblick
VS 2010 SP1 != EF 4.1
Performance
EDM Designer
EdmGen.exe
Anpassungen STE Code-Generierungsvorlage
Überblick
Code First (DbContext)
Installation
Via NuGet
Installation ADO.NET Entity Framework 4.1
Überblick
DB2
Firebird
Informix
MySQL
Oracle
Postgres
SQLite
Sybase
Synergy
U2
VistaDB
(OpenLink, IBM)
(OpenLink, Firebird)
(OpenLink, IBM)
(MySQL, DevArt, OpenLink)
(Oracle, DevArt, Progress, OpenLink)
(DevArt, OpenLink, Npsql)
(DevArt, System.Data.SqlLite)
(Progress, OpenLink, Sybase)
(Synergex)
(IBM)
Architektur
Architektur
Entwicklung auf Anwendungsebene
Unabhängig vom logischen
Modell des Speichers
Separation of Concerns
CSDL
MSL
SSDL
Kernkonzept ERM
EDM
Architektur
Architektur
DbContext
Entity Framework 4.0
Vorgehensweisen
Vorgehensweisen
DB First
Demo
Bottom up
Vorgehensweisen
Model First
Demo
Middle out
Vorgehensweisen
Code First
Demo
Top Down
Vorgehensweisen
Code First
Vorgehensweisen
Problematisch
EDM-Designer/Code First
Philosophie
Modellzentriert
Konfiguration
Code Generierung
Anpassbar mit T4 und Workflows
Double derived pattern (partial)
Demo
EDM Designer
Philosophie
Codezentriert
Conventions over Configuration
Patterns and Practices
Philosophie
Mehr als 20 Konventionen
Die Konventionen verstehen ist wichtig
Können entfernt werden
Hinzufügen von Konventionen mit EF 4.1 nicht
möglich
Philosophie
Philosophie
Fluent Mapping API
Philosophie
Data Annotations
Vergleich
ObjectContext/DbContext
Vergleich
ConnectionString
Entitätscontainer
Laden abhängiger Objekte
Validierung
Direktes SQL
Cache
Change tracking
Optimistic Concurrency
Vergleich
ConnectionString
Vergleich
Entitätscontainer
Vergleich
Laden abhängiger Objekte
Vergleich
Validierung
Vergleich
Direktes SQL
Vergleich
Cache
Vergleich
Change tracking
Vergleich
Optimistic Concurrency
Wann EDM-Designer
DB First
Datenbank besteht
Detailanforderungen auf
Ebene DB
Konkurrenzierende
Richtlinien DB
Model First
Roundtrip ermöglichen
Architektur und CodingStandards auf Ebene
Persistenzmodell
Verwenden von T4Vorlagen und Workflows
EDM mit eigenen
Metadaten für
pragmatische Modelle
Wann Code First
Der Code beschreibt das Modell (DDD)
Fehlende Akzeptanz zum EDM-Designer
Modellierung mit UML/DSL
DB Schema leitet sich aus Klassenmodell ab
Codezentriert
Sehr Effizient durch Konventionen
Data Annotations als Grundlage für DB Schema
Validierung mit SaveChanges
Über alle Layer :-)
Data Annotations und Fluent Mapping API kombinierbar
Fluent Mapping API gewinnt beim DB Schema
Explizites Laden mit Filter
Vereinfachtes Change Tracking
Code First
Kein DB Schema Update
Umweg über Dev/Int/Prod
Pluggable Conventions in der CTP5 hängen geblieben
Kein Support für Create, Update und Delete-Prozeduren
Keine Unterstützung für
Compiled Queries
Entity SQL (nur über IObjectContextAdapter)
Keine Erstellung von FK Indizes
Minimale Rechte für den Datenbankbenutzer auf Prod
Zusammenfassung
EF Entwicklung ist aktuell losgelöst von SP´s
EDM ist eine Implementierungsform des ERM
DbContext ist ein Wrapper um den ObjectContext
Einfluss durch DbModelBuilder
EF unterstützt nun alle Vorgehensweisen
DbContext für Code First
EDM-Designer
ObjectContext oder DbContext
Zusammenfassung
Mapping
DB First
Model First
Code First
1 : m bidirectional
Ja (Default)
Ja (Default)
Ja
1 : m unidirectional
Ja (FK-A)
Ja (FK-A)
Ja
m:n
Ja
Ja
Ja
1:1
Ja
Ja
Ja
Selbstreferenzierung
Ja
Ja
Ja
1 Klasse : m Tabellen
Ja
Ja
Ja (mb)
m Klassen : 1 Tabelle (CT)
Ja
Ja
Ja
m Klassen : 1 Tabelle Split
Ja
Bedingt
Ja (mb)
TPH
Ja
Bedingt
Ja (Default)
TPT
Ja
Ja (Default)
Ja (mb)
TPC
Bedingt
Bedingt
Bedingt (mb)
Zusammenfassung
Channel 9 Interview mit Dr. Peter Chen
ADO.NET Team Blog
Entity Framework Design Blog
Blog Arthur Vickers (EF Developer Team)
Meine Erfahrungen mit EF
Mapping-Szenarien Code First (Beispiele)
Zusammenfassung
ISBN-13: 978-0596807269
ISBN-13: 978-1430227038
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.
Herunterladen