Share via


Génération d'un modèle EDM (Entity Data Model)

Les applications et les services Entity Framework sont basés sur le modèle EDM (Modèle de données d'entité). Ce modèle représente les données d'application sous la forme d'un jeu d'entités et de relations mappées à une source de données définie. Un modèle EDM est constitué d'un modèle conceptuel exprimé sous forme d'entités et de relations, d'un modèle de stockage représentant le schéma du modèle logique, et d'un mappage entre les deux. La phase de développement d'un projet commence habituellement par le modèle conceptuel, dont est dérivé ensuite le modèle logique.

Pour répondre aux besoins des développeurs désireux de dériver un Modèle de données d'entité d'une base de données existante, Entity Framework fournit un ensemble d'outils qui permet de générer un modèle EDM, de le valider et de créer des classes programmables reposant sur le modèle conceptuel. L'utilitaire de ligne de commande EDM Generator (EdmGen.exe) permet de générer un modèle simple avec un mappage un-à-un entre les entités et les tables d'une source de données. Vous pouvez également utiliser EdmGen.exe pour générer les classes de données basées sur des types d'entité et pour valider un modèle EDM. EdmGen.exe fait partie intégrante des composants d'exécution Entity Framework de .NET Framework 3.5 Service Pack 1 (SP1).

Visual Studio 2008 intègre un ensemble d'outils Modèle de données d'entité qui permettent de générer un modèle constitué d'une sélection d'objets issus d'une source de données. Vous pouvez ensuite modifier le modèle conceptuel et le mappage à l'aide d'Entity Data Model Designer de façon à adapter le modèle conceptuel en fonction des besoins de l'application. Pour plus d'informations, voir Outils Entity Data Model.

Éléments à prendre en considération

Vous devez tenir compte des points suivants au moment de générer un modèle EDM :

  • À chaque entité doit correspondre une clé. Si la base de données contient une table sans clé primaire, les outils EDM essaient de déduire une clé pour l'entité correspondante. De plus, les outils EDM génèrent un élément DefiningQuery dans le schéma de stockage et les données de cette entité passent en lecture seule. Pour que les données de l'entité puissent être mises à jour, vous devez d'abord vérifier que la clé générée est valide puis supprimer l'élément DefiningQuery.

  • Une table qui représente une relation plusieurs-à-plusieurs entre deux tables de la base de données ne peut pas avoir d'entité équivalente dans le schéma conceptuel. Lorsque les outils EDM rencontrent une telle table sans aucune autre colonne que les deux qui sont des clés étrangères, la table de mappage est représentée dans le schéma conceptuel comme une association plusieurs-à-plusieurs et non comme une entité. L'association CourseInstructor dans le modèle School est une illustration de ce comportement. Pour plus d'informations, voir Génération du modèle Entity Data Model School (Démarrage rapide d'Entity Framework).

  • Dans cette version, les outils Modèle de données d'entité ne prennent en charge que la génération automatique d'un modèle EDM basé sur une source de données existante. Vous ne pouvez pas générer automatiquement une source de données, telle qu'une base de données relationnelle, reposant sur le modèle conceptuel.

Modèle School

Les rubriques de cette section Mise en route font référence à un exemple de base de données nommée School. Voir Création de l'exemple de base de données School (Démarrage rapide d'Entity Framework) pour examiner le script qui génère la base de données School dans SQL Server.

La base de données School contient les tables suivantes :

  • Course

  • CourseGrade

  • CourseInstructor

  • Department

  • OfficeAssignment

  • OnlineCourse

  • OnsiteCourse

  • Person

Cet exemple de base de données met en évidence les nombreux scénarios de modélisation complexes pris en charge par les outils Entity Data Model. Le script crée les relations entre les tables et insère les données d'exemple que vous pouvez exploiter de façon à en tirer des enseignements. Vous trouverez ci-dessous le modèle EDM School tel qu'il est affiché dans ADO.NET Entity Data Model Designer:

Modèle EDM School du concepteur d'entités

Voir aussi

Concepts

Mappage d'un modèle conceptuel à un schéma de stockage
Modélisation des données dans Entity Framework

Autres ressources

Configuration d'Entity Framework (Tâches Entity Framework)
Mise en route (Entity Framework)
Outils Entity Data Model
Spécifications EDM
Schémas et spécification de mappage (Entity Framework)