Accueil > .NET > Nouveautés d’Entity Framework 7 présentées aux Microsoft TechDays 2015

Nouveautés d’Entity Framework 7 présentées aux Microsoft TechDays 2015

Lors de la première journée des Tech Days 2015, j’ai eu l’occasion d’assister à une session couvrant les nouveautés de notre cher Entity Framework, session animée par Sébastien Pertus et Philippe Sentenac. Je vous propose, à travers ce billet, un retour sur cette nouvelle version.

Introduction


L’époque où il fallait utiliser tout un mécanisme fastidieux pour créer sa couche d’accès aux données (DAL) via ADO.net est bel et bien derrière nous. Aujourd’hui (enfin, il y a déjà 6 ans), Microsoft, avec l’apparition de son framework ORM « Entity Framework »  a révolutionné la façon d’écrire notre DAL.

C’est bien beau de parler d’ORM, mais qu’est-ce qu’Entity Framework?

Qu’est-ce qu’Entity Framework ?


QuestionDéfinition MSDN : Entity Framework est un mappeur objet/relationnel qui réduit les différences d’impédance entre l’univers orienté objet des développeurs .NET Framework et l’univers des bases de données relationnelles. Il permet principalement aux développeurs d’interagir avec le modèle conceptuel d’une application, à l’aide de techniques orientées objet familières. Dans Entity Framework vous travaillez avec des données sous la forme de propriétés et d’objets spécifiques aux domaines, tels que des clients et des adresses de clients , sans que vous ayez à vous préoccuper des tables et des colonnes de base de données sous-jacentes dans lesquelles sont stockées ces données. Les développeurs peuvent exécuter des opérations d’accès aux données dans le modèle conceptuel et Entity Framework convertit les opérations en actions de base de données relationnelle.

Si je devais résumer cette définition en une seule phrase, je dirai qu’Entity Framework est un outil créant une couche d’accès aux données lier à une base de données relationnelle, composé d’entités (ou objets) permettant la manipulation de ses données simplement.

Entity Framework 7 : quoi de neuf ?


Gros changement par rapport à la version 6, la gestion des modèles EDMX (Database First) est complètement supprimée. Les modèles sont donc désormais basés uniquement sur Code First (DbContext). Les principaux intérêts étant de réduire les potentiels conflits lors de fusions de code source, d’obtenir une maintenabilité accrue du code ainsi qu’une gestion des erreurs. Les erreurs de compilation d’un modèle Edmx sont moins aisées à interpréter que des erreurs provenant d’un modèle basé sur XML.

Attention tout de même, contrairement à ce que l’on pourrait penser, Code First ne veut pas forcément dire générer la base de données depuis le modèle. En effet, Code First peut être utilisé pour cibler une base de données existante. Les outils permettant de faire du reverse engineer sur ce type de base de données seront bientôt disponibles. C’est d’ailleurs l’une des remarques de Sébastien Pertus, animateur lors de cette session, qui a même donné une définition plus subjective à ses yeux du modèle « Code First » en le rebaptisant «  Code based modeling ».

Pour résumer, Code First est l’alternative au format EDMX,  permettant de n’avoir qu’une seule approche du modèle, et de gagner ainsi en productivité et maintenabilité.

Autre nouveauté,  la gestion de nouvelles sources de données, relationnelles et non relationnelles.

L’apparition d’une catalogue de fournisseurs plus étoffé : SQL server, SQLite, Azure Table Storage et In Memory (Pour les tests).

Il faut savoir qu’Entity Framework 7 est devenu très léger et extensible. Utilisable sur plateforme Mobile (WinRT, Windows Phone), toutes les briques d’EF 7 sont désormais disponible sous forme de modules à partir de packages nuget. De son runtime « nu » aux différents providers compatibles énoncés précédemment.  Pour faire simple, on n’embarque que le datastore nécessaire à notre application.

Autre point, les requêtes SQL générées sont désormais plus propres, plus rapides, et utilisent désormais les requêtes paramétrées.

Continuant dans sa lancée d’open source et multi OS, Entity Framework 7 pourra fonctionner sur d’autres OS (MacOS et Linux). Une démo en fin de session sous Ubuntu a d’ailleurs permis d’en avoir le cœur net.

 

Pour conclure, je vous laisse le lien permettant de découvrir par vous-même les bienfaits de cette nouvelle version, même si celle-ci est encore en version Beta et ne devrait être réellement disponible qu’en cette fin d’année : Entity framework 7 

Si vous n’avez pas eu la chance de pouvoir assister à cette session et que cela vous intéresse, rendez-vous par ici pour la vidéo et ici pour les slides de la présentation.

 

A bientôt,

Mickaël

Categories: .NET Tags: , ,
  1. Pas encore de commentaire
  1. Pas encore de trackbacks


+ 8 = douze