- Matthieu Mezil – Société Winwise
- Michel Perfetti – MVP C# – Société Winwise

C’est avec cette première session que l’aventure TechDays 2008 a débuté.

Autant je m’attendais à un sujet très intéressant, autant je pensais ne pas en apprendre autant et le tout plutôt bien expliqué. Il me semble d’ailleurs que pour Matthieu c’était la première vraie session en tant que speaker et je dois avouer que j’ai été agréablement surpris, le sujet avait été très bien préparé par le deux intervenants.

Que dire de ADO.NET Entity Framework ? Tout d’abord pour ceux qui n’y connaissent rien du tout sur le sujet, c’est un framework qui va permettre à tout développeur de travailler sur un modèle conceptuel et non plus sur le modèle relationnelle d’une base de données. En gros résumé, on va manipuler des Data Objects sans se soucier du modèle relationnel. Ce fameux modèle conceptuel est appelé le Entity Data Model (EDM) et c’est ce modèle que nous allons requêter (le plus souvent avec Entity SQL et Linq To Entities) pour interagir de manière abstraite avec la base de données.

C’est donc grâce à un système de mapping que cette relation entre le modèle conceptuel et la modèle relationnel va pouvoir être effectuée, mais tout ça de manière « transparente » pour le développeur mais je vous passe les détails car vous pourrez en apprendre plus via les liens fournis en fin de ce billet.

Pour en revenir à l’EDM, outre le fait qu’une table en base de données devient un Data Object dans notre EDM (excepté les tables de relation), il va être possible d’aller assez loin avec ce modèle. Dans les grandes lignes, vous aurez la possibilité de :

  • Fusionner vos tables
  • Utiliser l’héritage de différentes façon (voir Table per Type & Table per Hierarchy)
  • Extraire des parties communes de vos tables pour en faire des types complexes (voir Complex Types)
  • Représenter vos objets grâce à des vues
  • Personnaliser les requêtes SQL générées en utilisant soit vos procédures stockées, soit du SQL

En vrac, vous pouvez aussi accéder à un cache de tracking qui permet de connaître l’état de chaque ligne, tracer les changements, résoudre les conflits. Vous pouvez aussi « compiler » vos requêtes (voir Compiled Query) via les délégués. Sans oublier la synchronisation qui est omniprésente.

Voila, je me doute que ce résumé n’est pas très digeste mais vous commencez au moins avec les mots clés sur le sujet. Les liens ci-dessous vous permettront d’apprendre tout ce qu’il faut savoir sur ADO.NET Entity Framework.

A noter que le projet est toujours en beta 3 et sera normalement disponible dans sa version finale vers Juin 2008.

Blog Team ADO.NETDocumentation MSDN ADO.NET Entity Framework
Télécharger ADO.NET Entity Framework Beta 3
Télécharger ADO.NET Entity Framework Tools December 2007 CTP
Liste des providers qui seront disponibles lors de la version finale