Upload
fleurette-leleu
View
119
Download
3
Embed Size (px)
Citation preview
Mitsuru FURUTARelations techniques développeursMicrosoft [email protected]://blogs.msdn.com/mitsuhttp://blogs.msdn.com/mitsufu
Entity Framework 4
AgendaIntroduction à Entity FrameworkMappingEntity Framework 4
Les nouveautésModel firstScénario POCO
TemplatesConclusion
Pourquoi le mapping objet-relationnel ?Conception de base de données et conception objet proches mais différentes Gain de productivité
Définition de modèlesScénarii de génération de codeApplication de patterns/templates
RequêtageSql client versus procédures stockées
Performance, sécuritéServeur vs code : intégrité et versions de la base ou du code..
Requêtage sur le modèle indépendamment de la base de données via LINQ (entre autre)
Introduction
L’approche Entity FrameworkArchitecture orientée modèle
Indépendance de la source de donnéesAbstraction de la persistanceRequêtage directement sur le modèlePuissant mapping de transformationFacilité de maintenance accrue et sensibilité aux évolutions réduite
ImplémentationDéfinition du modèle : Entity Data ModelRequêtage sur le modèle:
Esql, support de Linq
Introduction
Architecture d’Entity Framework
Entity Data Model
Relational
Database
DatabaseObjectsSchema
Storage Model
*.MSL*.SSD
L
Map
OO Classes
Entity Data Model
Schema
Conceptual Model
*.CSDL
DémoeSql
DémoMapping, many-to-many, héritage, complexTypes
Intégration des FKLazy LoadingModel FirstPOCOAmélioration du designerFonctions CSDLAmélioration des requêtes SQL généréesAjouts de règles de validations au niveau du modèle…
Entity Framework 4
DémoModel First
DémoPOCO
DémoLazzy loading
Template qui existe dans Visual Studio depuis 2005 mais « caché »Microsoft fournit des API permettant d’accéder aux Metadonnées de l’EDMMicrosoft fournit les templates de génération d’entités et de contexte se basant sur ces métadonnéesPossibilité de customiser soi-même ces templates
Template T4 : Utilisation de l'EDM pour générer le code
DémoTemplate T4
Famille LinqWCF Ria ServicesADO.Net Data ServicesASP.Net Dynamic Data
Un écosystème d’autres frameworks