Entity Framework

Introduction

ADO.NET Entity Framework a été conçu pour permettre aux développeurs de créer des applications d'accès aux données en programmant par rapport à un modèle d'application conceptuel au lieu de programmer directement par rapport à un schéma de stockage relationnel. L'objectif est de diminuer la quantité de code et les besoins en maintenance pour les applications orintées objet. Les applications reposant sur Entity Framework présentent les avantages suivants :

  • les applications peuvent fonctionner par rapport à un modèle conceptuel plus centré sur les applications, comprenant notamment des types avec héritage, des membres complexes et des relations ;
  • les applications sont libérées des dépendances codées en dur sur un moteur de données ou un schéma de stockage particulier ;
  • les mappages entre le modèle conceptuel et le schéma spécifique au stockage peuvent être modifiés sans changer le code de l'application ;
  • les développeurs peuvent utiliser un modèle objet d'application cohérent qui peut être mappé à différents schémas de stockage implémentés dans divers systèmes de gestion de bases de données ;
  • plusieurs modèles conceptuels peuvent être mappés à un schéma de stockage unique ;
  • la prise en charge de la fonctionnalité LINQ (Language-Integrated Query) permet d'effectuer la validation de la syntaxe au moment de la compilation par rapport à un modèle conceptuel.

Entity Framework donne vie aux modèles conceptuels en permettant aux développeurs d'interroger des entités et des relations dans le modèle conceptuel tout en s'appuyant sur Entity Framework pour traduire ces opérations en commandes spécifiques à la source de données. Cela libère des applications des dépendances codées en dur sur une source de données particulière. Le modèle conceptuel, le modèle de stockage et le mappage entre les deux sont exprimés dans une spécification externe, connue sous le nom de modèle EDM (Modèle de données d'entité). Le modèle de stockage et les mappages peuvent changer en fonction des besoins, sans qu'il soit nécessaire de modifier le modèle conceptuel, les classes de données ou le code d'application. Étant donné que les modèles de stockage sont spécifiques au fournisseur, vous pouvez travailler avec un modèle conceptuel cohérent entre différentes sources de données.

Un modèle EDM est défini par les trois fichiers de modèle et de mappage suivants qui ont des extensions de noms de fichiers correspondantes :

  • Fichier CSDL (Conceptual Schema Definition Language) (.csdl) : définit le modèle conceptuel.
  • Fichier SSDL (Store Schema Definition Language) (.ssdl) : définit le modèle de stockage, également appelé « modèle logique ».
  • Fichier MSL (Mapping Specification Language) (.msl) : définit le mappage entre le modèle de stockage et le modèle conceptuel.

Entity Framework utilise ces fichiers de modèle et de mappage basés sur XML pour transformer des opérations de création, de lecture, de mise à jour et de suppression sur des entités et des relations dans le modèle conceptuel en opérations équivalentes dans la source de données. Le modèle EDM prend même en charge le mappage d'entités du modèle conceptuel à des procédures stockées de la source de données. Pour plus d'informations, voir Modélisation des données dans Entity Framework.

Ressources

  • MSDN - Entity Framework
  • http://msdn.microsoft.com/fr-fr/library/bb738553.aspx|MSDN - Guide de Programmation Entity Framework
  • http://msmvps.com/blogs/matthieu/|Bl og de Mathieu MEZIL sur .NET et EF]]

Commentaires

Posts les plus consultés de ce blog

Base de Données Sybase IQ

Sécurité des Applications

Principes de la Programmation Orientée Objet