Partager via


ModificationFunctionMapping (AssociationSetMapping)

En tant qu'élément enfant d'un élément AssociationSetMapping du modèle EDM (Entity Data Model), l'élément ModificationFunctionMapping spécifie des procédures stockées qui insèrent et suppriment des instances d'un élément Association entre entités. Utilisez un élément ModificationFunctionMapping dans un élément AssociationSetMapping lorsque vous mappez des associations plusieurs à plusieurs prises en charge par une table de lien du modèle de stockage.

Dans une fonction AssociationSetMappping, l'élément ModificationFunctionMapping contient un élément InsertFunction qui identifie la procédure stockée qui crée l'association entre entités. L'élément ModificationFunctionMapping inclut également un élément DeleteFunction qui identifie la procédure stockée qui supprime l'association entre entités. Pour définir les entités de l'association, les éléments InsertFunction et DeleteFunction utilisent tous deux des éléments enfants EndProperty.

NoteRemarque

L'élément ModificationFunctionMapping peut également mapper des procédures stockées qui insèrent, mettent à jour ou suppriment des instances d'un élément EntityType. Dans cette instance, l'élément ModificationFunctionMapping est un élément enfant d'un élément EntityTypeMapping, lui-même contenu dans l'élément EntitySetMapping. Pour plus d'informations, voir ModificationFunctionMapping (EntityTypeMapping) et Prise en charge des procédures stockées (Entity Framework).

Exemple

Dans cet exemple, l'élément ModificationFunctionMapping utilise ses éléments InsertFunction et DeleteFunction pour identifier les procédures stockées qui créent ou suppriment des associations entre une entité Contact et une entité Address. Pour spécifier les entités Contact et Address, les éléments InsertFunction et DeleteFunction utilisent leurs éléments EndProperty. Ces éléments EndProperty utilisent leurs éléments enfants ScalarProperty pour décrire les liaisons de paramètres pour les valeurs de clé des entités situées de part et d'autre de l'Association. Les éléments enfants ScalarProperty spécifient également les paramètres correspondants de procédures stockées.

NoteRemarque

Les liaisons EndProperty déclarées dans un mappage de procédure stockée AssociationSet ressemblent à l'élément AssociationEnd déclaré dans un mappage de fonction EntitySet. Toutefois, pour les éléments EndProperty, l'élément AssociationSet qui les contient fournit le contexte nécessaire.

L'exemple suivant illustre un élément AssociationSetMapping complet avec un élément ModificationFunctionMapping :

  <AssociationSetMapping Name="Contact_Address"
                TypeName="ContactInformationModel.Contact_Address"
                StoreEntitySet="Contact_Address">
    <EndProperty Name="Address">
      <ScalarProperty Name="AddressID" ColumnName="AddressID" />
    </EndProperty>
    <EndProperty Name="Contact">
      <ScalarProperty Name="ContactID" ColumnName="ContactID" />
    </EndProperty>
    <ModificationFunctionMapping>
      <DeleteFunction
        FunctionName="ContactInformationModel.Store.DeleteAddress">
        <EndProperty Name="Address">
          <ScalarProperty Name="AddressID" ParameterName="AddressID"/>
        </EndProperty>
        <EndProperty Name="Contact">
          <ScalarProperty Name="ContactID" ParameterName="ContactID"/>
        </EndProperty>
      </DeleteFunction>
      <InsertFunction
        FunctionName="ContactInformationModel.Store.SetAddress">
        <EndProperty Name="Address">
          <ScalarProperty Name="AddressID" ParameterName="AddressID"/>
        </EndProperty>
        <EndProperty Name="Contact">
          <ScalarProperty Name="ContactID" ParameterName="ContactID"/>
        </EndProperty>
      </InsertFunction>
    </ModificationFunctionMapping>

Voir aussi

Tâches

Procédure : définir un modèle avec une procédure stockée (Entity Framework)

Concepts

Prise en charge des procédures stockées (Entity Framework)
InsertFunction (AssociationSetMapping)
DeleteFunction (AssociationSetMapping)
EndProperty (AssociationSet ModificationFunctionMapping)