Modélisation des données dans Entity Framework

Le modèle EDM (Modèle de données d'entité) est un modèle entité-relation. Il définit les données dans un format neutre, non contraint par la structure de langages de programmation ou de bases de données relationnelles. Les schémas EDM permettent de spécifier les informations d'entités et de relations et de les implémenter en tant que structures de données.

Une entité est un élément du domaine de l'application qui doit être représenté par des données. Une application métier classique présente de nombreux exemples d'entités et de relations. Les entités, dans le domaine d'une application métier, peuvent inclure les commandes, les lignes de commande, les fournisseurs, les produits, les employés du service commercial, les expéditeurs, les factures, etc. L'objet EntityType d'un EDM est la spécification d'un type de données qui représente l'entité dans le domaine de l'application.

Une relation est la connexion logique qui existe entre des entités : par exemple, la connexion logique entre une commande de marchandises et le client qui passe la commande. De nombreuses commandes pouvant être associées à un client, la relation entre un client et ses commandes est dite « un-à-plusieurs ». Les produits et les fournisseurs peuvent entretenir une relation « plusieurs à plusieurs ».

La définition des entités est des relations peut relever d'un processus très complexe. Une simple commande de marchandises dans une application métier requiert une quantité étonnante d'informations. Par exemple, une commande de marchandises peut prendre plusieurs formes. Elle peut être passée auprès d'un magasin, ou effectuée par téléphone, via Internet ou par le biais d'un catalogue. Dans l'EDM, les détails de chaque type de commande sont spécifiés de façon contextuelle dans une syntaxe XML. Les propriétés de chaque type de commande et toutes les contraintes requises sont propagées aux applications qui utilisent les données basées sur le schéma conceptuel.

L'EDM modélise des entités et leurs relations à l'aide de deux types de base.

  • EntityType : spécification abstraite des détails d'une structure de données dans le domaine de l'application.

  • AssociationType : connexion logique entre les types.

Une structure de schéma EDM définit la structure, la sémantique, les contraintes et les relations d'entités dans le domaine d'une application. Dans l'implémentation EDM d'Object Services, le schéma conceptuel est mappé à un autre schéma qui contient des métadonnées décrivant le modèle de stockage (souvent les tables d'une base de données). Le schéma conceptuel permet de générer les classes d'un modèle objet programmable qui sera utilisé dans le code de l'application. Le schéma conceptuel et le schéma de stockage sont également utilisés par Entity Framework pour valider, interroger et mettre à jour les données de l'application au moment de l'exécution.

Dans cette section

Voir aussi

Concepts

Implémentation d'entités (EDM)
Implémentation d'associations (EDM)
Langage Entity SQL

Autres ressources

Spécifications EDM
Exemples d'applications (Entity Framework)