Scénarios de mappage Entity Framework

Entity Framework prend en charge différentes façons de mapper des modèles conceptuels à des données relationnelles. Pour plus d'informations, consultez Modélisation et mappage (Entity Framework).

Les scénarios de mappage suivants sont actuellement pris en charge par Entity Framework.

Scénario de mappage Description

Mappage simple

Dans ce scénario de mappage, chaque entité du modèle conceptuel est mappée à une seule table du modèle de stockage. C'est le mappage par défaut généré par les outils Entity Data Model. Pour plus d'informations, voir Démarrage rapide (Entity Framework).

Fractionnement d'entités

Dans ce scénario de mappage, les propriétés d'une entité unique du modèle conceptuel sont mappées à des colonnes de deux tables sous-jacentes, ou plus. Dans ce scénario, les tables doivent partager une clé primaire commune. Pour plus d'informations, consultez Walkthrough: Mapping and Entity to Multiple Tables et Procédure : définir un modèle avec une même entité mappée à deux tables.

Partitionnement horizontal dans le modèle conceptuel

Dans ce scénario de mappage, plusieurs types d'entité du modèle conceptuel qui ont les mêmes propriétés sont mappés à une seule table. Une clause de condition est utilisée pour spécifier quelles données de la table appartiennent aux différents types d'entités. Ce mappage est semblable au mappage d'héritage TPH (table par hiérarchie). Pour plus d'informations, consultez Procédure : définir un modèle avec l'héritage TPH (table par hiérarchie).

Héritage TPH (table par hiérarchie)

Dans ce scénario de mappage, tous les types d'une hiérarchie d'héritage sont mappés à une seule table. Une clause de condition est utilisée pour définir les types d'entités. Pour plus d'informations, consultez Walkthrough: Mapping Inheritance - Table-per-Hierarchy et Procédure : définir un modèle avec l'héritage TPH (table par hiérarchie) (Entity Framework).

Héritage TPT (table par type)

Dans ce scénario de mappage, tous les types sont mappés à des tables individuelles. Les propriétés qui appartiennent uniquement à un type de base ou à un type dérivé sont stockées dans une table qui mappe à ce type. Pour plus d'informations, consultez Walkthrough: Mapping Inheritance - Table-per-Type et Procédure : définir un modèle avec l'héritage TPT (table par type) (Entity Framework).

Héritage de table par type concret

Dans ce scénario de mappage, chacun des types non abstraits est mappé à une table individuelle. Chacune de ces tables doit avoir des colonnes qui mappent à toutes les propriétés du type dérivé, y compris les propriétés héritées du type de base.

Jeux d'entités multiples par type

Dans ce scénario de mappage, un seul type d'entité est exprimé dans deux jeux d'entités distincts, ou plus, du modèle conceptuel. Chaque jeu d'entités est mappé à une table distincte du modèle de stockage. Pour plus d'informations, voir Procédure : définir un modèle avec jeux d'entités multiples par type (Entity Framework).

Types complexes

Un type complexe est une propriété non scalaire d'un type d'entité qui n'a pas de propriété de clé. Un type complexe peut contenir d'autres types complexes imbriqués. Les types complexes sont mappés à des tables du modèle de stockage. Pour plus d'informations, voir How to: Create and Modify Complex Types.

Mappage de Function Imports

Dans ce scénario, une procédure stockée du modèle de stockage est mappée à un élément FunctionImport du modèle conceptuel. Cette fonction est exécutée pour retourner des données d'entité à l'aide de la procédure stockée mappée. Pour plus d'informations, consultez How to: Import a Stored Procedure et Procédure : définir un modèle avec une procédure stockée (Entity Framework).

Mappage de fonctions de modification

Dans ce scénario, des procédures stockées sont définies dans le modèle de stockage qui insert, met à jour et supprime des données. Ces fonctions sont définies pour un type d'entité afin de fournir les fonctionnalités de mise à jour pour un type d'entité spécifique. Pour plus d'informations, consultez Walkthrough: Mapping and Entity to Stored Procedures et Procédure : définir un modèle avec des procédures stockées de modification (Entity Framework).

Mappage de requêtes de définition

Dans ce scénario, une requête est définie dans le modèle de stockage qui représente une table de la source de données. La requête est exprimée dans le langage de requête natif de la source de données, tel que Transact-SQL, lors du mappage à une base de données SQL Server. Cet élément DefiningQuery est mappé à un type d'entité du modèle conceptuel. La requête est définie dans le langage de requête spécifique au magasin. Pour plus d'informations, voir How to: Add a Defining Query. Lorsque vous utilisez une requête de définition, les mises à jour ne peuvent pas être rendues persistantes dans la source de données à l'aide du processus de mise à jour standard. Les mises à jour peuvent être effectuées en définissant des mappages de fonctions de modification.

Mappage d'affichages des requêtes

Dans ce scénario, un mappage en lecture seule est défini entre des types d'entités du modèle conceptuel et des tables relationnelles du modèle de stockage. Ce mappage est défini en fonction d'une requête Entity SQL sur le modèle de stockage qui retourne des entités dans le modèle conceptuel. Pour plus d'informations, voir Élément QueryView (MSL). Lorsque vous utilisez un affichage des requêtes, les mises à jour ne peuvent pas être rendues persistantes dans la source de données à l'aide du processus de mise à jour standard. Les mises à jour peuvent être effectuées en définissant des mappages de fonctions de modification.

Mappage d'ensembles d'associations

Les associations définissent des relations entre des entités. Dans un mappage simple avec une association un-à-un ou un-à-plusieurs, les associations qui définissent des relations dans le modèle conceptuel sont mappées à des associations du modèle de stockage. Les mappages d'ensembles d'associations avancés suivants sont également pris en charge :

  • Associations plusieurs-à-plusieurs. Les deux terminaisons de l'association sont mappées à une table de liens dans le modèle de stockage.

  • Association automatique. Cela prend en charge une association entre deux entités du même type, telles qu'une entité Employee avec une association à une autre entité Employee.

Pour plus d'informations, consultez Élément Association (CSDL).

Pour plus d'informations sur les scénarios de mappage pris en charge par les outils Entity Data Model, voir ADO.NET Entity Data Model Designer.

Voir aussi

Tâches

Procédure : définir manuellement les fichiers du modèle et les fichiers de mappage (Entity Framework)

Concepts

Ressources Entity Framework
Utilisation d'objets (Entity Framework)

Autres ressources

Définition de modèles de données avancés (Tâches Entity Framework)
ADO.NET Entity Data Model Designer
Définition de modèles de données avancés (Tâches Entity Framework)
Exemples (Entity Framework)