entity framework 4

Post on 05-Jan-2016

51 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Entity Framework 4. Alexandre EQUOY Access-IT http://blogs.access-it.net. Matthieu MEZIL Access-IT. http://blogs.codes-sources.com/matthieu. Access It en quelques mots…. Consulting/expertise, réalisation (projet /assistance technique) et formation (CPLS) sur les technologies Microsoft - PowerPoint PPT Presentation

TRANSCRIPT

22

Entity Framework 4

Alexandre EQUOYAccess-IThttp://blogs.access-it.net

Matthieu MEZILAccess-IT

http://blogs.codes-sources.com/matthieu

33

Access It en quelques mots…

Consulting/expertise, réalisation (projet /assistance technique) et formation (CPLS) sur les technologies Microsoft

Haut niveau de certification2 agences à Lille et Paris, couverture nationaleCentre des Usages pour la région Nord

3 grands domaines d’expertise technologiquePlateforme applicative : SharePoint, SQL Server & BI, BizTalk.Net : architecture, Framework & langages, RIA/RDA (Silverlight, WPF, Surface), industrialisation/ALM (TFS/VSTS)…Infrastructure : poste de travail, serveurs, virtualisation, messagerie, annuaire…

http://www.access-it.fr

44

Agenda

Introduction à Entity FrameworkMappingEntity Framework 4

Les nouveautésModel FirstScenario POCO : objets ignorants la persistance

Templates de génération de code T4Scenarii N-Tiers

55

Introduction à Entity Framework

Object-Relational MappingPrincipesMapping…

Pourquoi ?Gain de productivité Complexité du mapping entre les objets métiers et la base

de données gérée par le frameworkRequêtage sur le modèle indépendamment de la base de

données via LINQ (entre autre)Le modèle est bien plus qu’un simple mapping, il est

possible de l’enrichir (métadonnées par exemple)

66

Séparation : Modèle Conceptuel / Modèle Relationnel

Conc

eptu

al •Entités, Relations• Contraintes référentielles• Target de l’application

SalesPerson

SalesOrder

StoreOrder

SalesPerson

Employee StoreOrder

Phys

ical

Contact

• Record formats, file groups• Indexes, file partitions• Apps unaware of this levelSalesOrder

Logi

cal

• Tables, rows, keys• PK/FK constraints• Normalization• Data independence

SalesPerson SalesOrder

Employee Contact

77

Entity Data Model (EDM)

Relational Database

DatabaseObjectsSchema

Storage Model

*.MSL*.SSDL

Map

OO Classes

Entity Data ModelSchema

Conceptual Model

*.CSDL

Source Julia Lerman, www.thedatafarm.com

88

DémoMapping

99

Entity Framework 4

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…

1010

Différentes possibilités : Clés du succès

Je commence mon application par la base de données“La base de données représente la vérité”Pourquoi ? Elle existe déjàQue faire ? Importer le modèle de stockage dans l’edmx et l’enrichir

Je commence avec mon modèle edmx“Le modèle conceptuel est la vérité”Pourquoi ? Je veux séparer mon code de la base formellement et surtout je pars de zéroQue faire ? Je crée mon modèle, je génère ma base et ma couche d’entité à partir du modèle

Je commence par ma couche objet à base de classes .net“Mon code contient la vérité”Pourquoi ? Mon analyse est fondée sur l’objet, la conception de la base de données est faite indépendamentQue faire ? Je défini mes classes, je crée mon context et je mappe ma conception objet sur la conception relationnelle

1111

DémoModel First

1212

DémoModel & DB First

1313

Template T4 : Augmenter la productivité

Certaines problématiques sont récurrentes :Génération d’entitéCertaines méthodes de services ( GetCustomers,

GetOrders,…)

N'attendez plus : adoptez le réflexe T4

1414

Template T4 : Utilisation de l'EDM pour générer le code

Template qui existe dans Visual Studio depuis 2005 mais « caché »

Microsoft fournit des API permettant d’accéder aux Metadonnées de l’EDM

Microsoft fournit les templates de génération d’entités et de contexte se basant sur ces métadonnées

Possibilité de customiser soi-même ces templates

1515

DémoCustomisation des templates MS

1616

Scenarii N-Tiers

Il existe des technologies qui permettent d’exposer « sans effort » les entités à travers des services :

ADO.Net Data ServicesRIA Services

Ces technologies ont des limitesPour palier cela, l’utilisation de WCF est nécessaire

1717

Scenarii N-Tiers avec WCF

Le tracking des modifications est effectué par le contexte Entity FrameworkComme les entités sont sérialisées sans ce context, par défaut,

les changements côté client ne sont pas trackésIl existe des palliatifs fastidieux et souvent non optimaux

Nouveauté de EF4 : Self-Tracking Entities (template T4)Les entités sont capables de tracker elles-mêmes les

modificationsLe tracking fait partie de l’entité. Il est sérialisé avec elle

1818

Exploiter la puissance de T4

T4 n’est pas limité à la génération d’entité et de contexteOn peut imaginer une génération automatique des canevas de

services WCF liés aux entitésEt bien plus…

1919

DémoScenario N-Tiers avec WCF généré par T4

2020

http://msdn.microsoft.com/fr-fr/msdn.saga-efx.aspx

2121

Questions ?

top related