Partager via


Spécification de mappage (MSL)

Dans le modèle EDM (Modèle de données d'entité), la spécification de mappage utilise le langage MSL (Mapping Specification Language) pour connecter les types déclarés dans le langage CSDL (Conceptual Schema Definition Language) aux métadonnées de la base de données qui conservent des données pour les applications utilisant le modèle objet qui est défini.

Les NamespaceName et EntityContainerName déclarés dans le schéma CSDL identifient les entités et les associations du schéma conceptuel. La syntaxe MSL les mappe aux métadonnées de stockage dans le fichier SSDL (Store Schema Definition Language).

Le segment MSL suivant illustre la syntaxe utilisée pour mapper le conteneur d'entités HumanResources, défini dans le schéma CSDL, au conteneur d'entités HumanResources correspondant, défini dans le schéma SSDL, qui décrit la base de données cible.

Les noms des conteneurs d'entités assignés à CdmEntityContainer et StorageEntityContainer ne sont pas qualifiés par le nom du Namespace des schémas dans lesquels ils sont déclarés. Bien que les conteneurs d'entités soient déclarés dans des schémas, ils sont distincts et indépendants des schémas.

<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S" 
    xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">

  <EntityContainerMapping CdmEntityContainer="HumanResources"
StorageEntityContainer="HumanResources">

Les jeux d'entités des conteneurs d'entités sont mappés à l'aide d'une syntaxe semblable à celle utilisée pour les conteneurs d'entités. Le mappage suivant connecte le jeu d'entités nommé AdventureWorksHRModel.Department du schéma conceptuel à une table nommée Department dans les métadonnées de stockage. L'élément EntitySetMapping inclut un attribut Name qui identifie le jeu d'entités Department à la fois dans le schéma conceptuel et dans les métadonnées de stockage.

L'élément EntityTypeMapping inclut un attribut TypeName pour l'entité Department dans le schéma CSDL avec des attributs MappingFragment et TableName correspondants pour la table Department dans la base de données.

Enfin, les éléments ScalarProperty correspondent au Name d'une propriété d'une entité dans le schéma CSDL et à un ColumnName dans la table Department du schéma SSDL.

    <EntitySetMapping Name="Department">
      <EntityTypeMapping
                   TypeName="AdventureWorksHRModel.Department">
        <MappingFragment TableName="Department">
          <ScalarProperty Name="DepartmentID"
                               ColumnName="DepartmentID" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="GroupName"
                                    ColumnName="GroupName" />
          <ScalarProperty Name="ModifiedDate"
                                 ColumnName="ModifiedDate" />
        </MappingFragment>
      </EntityTypeMapping>
    </EntitySetMapping>

Xmlns

Les schémas MSL se trouvent dans l'espace de noms XML : urn:schemas-microsoft-com:windows:storage:mapping:CS.

Élément EntitySetMapping (MSL)

Élément EntityContainerMapping (MSL)

Élément EntitySetMapping (MSL)

Élément AssociationSetMapping (MSL)

Voir aussi

Concepts

Schéma conceptuel (CSDL)
Schéma des métadonnées de stockage (SSDL)
Modèle complet AdventureWorks (EDM)
Modélisation des données dans Entity Framework