1 / 22

Entity Framework 4

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

kordell
Download Presentation

Entity Framework 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Entity Framework 4 Alexandre EQUOY Access-IT http://blogs.access-it.net Matthieu MEZIL Access-IT http://blogs.codes-sources.com/matthieu

  2. Access It en quelques mots… • Consulting/expertise, réalisation (projet /assistance technique) et formation (CPLS) sur les technologies Microsoft • Haut niveau de certification • 2 agences à Lille et Paris, couverture nationale • Centre des Usages pour la région Nord • 3 grands domaines d’expertise technologique • Plateforme 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

  3. Agenda • Introduction à Entity Framework • Mapping • Entity Framework 4 • Les nouveautés • Model First • Scenario POCO : objets ignorants la persistance • Templates de génération de code T4 • Scenarii N-Tiers

  4. Introduction à Entity Framework • Object-RelationalMapping • Principes • Mapping • … • Pourquoi ? • Gain de productivité • Complexité du mapping entre les objets métiers et la base de données gérée par le framework • Requê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)

  5. Séparation : Modèle Conceptuel / Modèle Relationnel • Entités, Relations • Contraintesréférentielles • Target de l’application Conceptual StoreOrder SalesPerson SalesOrder • Tables, rows, keys • PK/FK constraints • Normalization • Data independence Employee Contact SalesPerson SalesOrder Logical • Record formats, file groups • Indexes, file partitions • Apps unaware of this level Employee StoreOrder Contact SalesOrder SalesPerson Physical

  6. Entity Data Model (EDM) Storage Model Map Conceptual Model Database Objects Schema Entity Data Model Schema *.SSDL *.MSL *.CSDL Relational Database OO Classes Source Julia Lerman, www.thedatafarm.com

  7. Démo Mapping

  8. Entity Framework 4 • Intégration des FK • LazyLoading • Model First • POCO • Amélioration du designer • Fonctions CSDL • Amélioration des requêtes SQL générées • Ajouts de règles de validations au niveau du modèle • …

  9. Différentes possibilités : Clés du succès • Je commence mon application par la base de données • “La base de donnéesreprésente la vérité” • Pourquoi ? Elle existe déjà • Que faire ? Importer le modèle de stockagedansl’edmx et l’enrichir • Je commence avec monmodèleedmx • “Le modèleconceptuelest la vérité” • Pourquoi ? Je veuxséparermon code de la base formellement et surtout je pars de zéro • Que faire ? Je créemonmodèle, je génère ma base et ma couched’entité à partir du modèle • Je commence par ma couche objet à base de classes .net • “Mon code contient la vérité” • Pourquoi ? Mon analyseestfondéesurl’objet, la conception de la base de donnéesestfaiteindépendament • Que faire ? Je définimes classes, je créemon context et je mappe ma conception objet sur la conception relationnelle

  10. Démo Model First

  11. Démo Model & DB First

  12. 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

  13. 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

  14. Démo Customisation des templates MS

  15. Scenarii N-Tiers • Il existe des technologies qui permettent d’exposer « sans effort » les entités à travers des services : • ADO.Net Data Services • RIA Services • Ces technologies ont des limites • Pour palier cela, l’utilisation de WCF est nécessaire

  16. Scenarii N-Tiers avec WCF • Le tracking des modifications est effectué par le contexte Entity Framework • Comme les entités sont sérialisées sans ce context, par défaut, les changements côté client ne sont pas trackés • Il existe des palliatifs fastidieux et souvent non optimaux • Nouveauté de EF4 : Self-TrackingEntities (template T4) • Les entités sont capables de tracker elles-mêmes les modifications • Le trackingfait partie de l’entité. Il est sérialisé avec elle

  17. Exploiter la puissance de T4 • T4 n’est pas limité à la génération d’entité et de contexte • On peut imaginer une génération automatique des canevas de services WCF liés aux entités • Et bien plus…

  18. Démo Scenario N-Tiers avec WCF généré par T4

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

  20. Questions ?

More Related