Élément Condition (AssociationSetMapping)

L'élément Condition d'un AssociationSetMapping spécifie une condition logique relative à la validité du mappage d'Association dans le modèle EDM (Modèle de données d'entité). Le mappage d'une association identifie les colonnes des tables de données auxquelles les propriétés des entités associées correspondent.

L'élément AssociationSetMapping suivant mappe l'association Employee_Employee_ManagerID définie en langage CSDL (Conceptual Schema Definition Language), dans le segment HumanResources de la base de données AdventureWorks. La spécification de mappage suivante associe une entité Employee à une autre entité Employee désignée comme responsable.

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

    <AssociationSetMapping Name="Employee_Employee_ManagerID"
       TypeName="AdventureWorksHRModel.Employee_Employee_ManagerID"
           StoreEntitySet="Employee">
      <EndProperty Name="Employee">
        <ScalarProperty Name="EmployeeID"
                                     ColumnName="ManagerID" />
      </EndProperty>
      <EndProperty Name="EmployeeManager">
        <ScalarProperty Name="EmployeeID"
                               ColumnName="EmployeeID" />
      </EndProperty>
      <Condition ColumnName="ManagerID" IsNull="false" />
    </AssociationSetMapping>

  </EntityContainerMapping>

Les deux entités liées par ce Association sont des entités Employee. Le mappage dépend de l'élément Condition spécifié dans la dernière ligne de AssociationSetMappng. Pour que Association soit valide, il doit associer une entité Employee à une autre entité Employee désignée comme responsable. La structure de stockage qui représente cette connexion est une contrainte de clé étrangère dans la colonne ManagerID de la table Employee. Si sa valeur est Null, la condition n'est pas remplie et l'assignation de détails supplémentaires dans une instance de Association est sans objet. Si un Association de ce type est créé dans le code lorsque la valeur ManagerID est Null, le Association lève une exception lorsque la méthode SaveChanges est appelée.

Voir aussi

Concepts

Élément EntityContainerMapping (MSL)
Élément Association (CSDL)
Élément AssociationSet (EntityContainer CSDL)
Élément Association (SSDL)
Élément AssociationSet (EntityContainer SSDL)
Modèle complet AdventureWorks (EDM)