Freigeben über


ModificationFunctionMapping (AssociationSetMapping)

Als untergeordnetes Element eines AssociationSetMapping-Elements im Entity Data Model (EDM) gibt das ModificationFunctionMapping-Element gespeicherte Prozeduren an, die Instanzen einer Association zwischen Entitäten einfügen und löschen. Verwenden Sie ein ModificationFunctionMapping-Element in einem AssociationSetMapping-Element, wenn Sie m:n-Zuordnungen zuordnen, die von einer Linktabelle im Speichermodell unterstützt werden.

In einer AssociationSetMappping-Funktion enthält das ModificationFunctionMapping-Element ein InsertFunction-Element, das die gespeicherte Prozedur angibt, die die Zuordnung zwischen Entitäten erstellt. Das ModificationFunctionMapping-Element enthält auch ein DeleteFunction-Element, das die gespeicherte Prozedur angibt, die die Zuordnung zwischen Entitäten löscht. Um die Entitäten in der Zuordnung zu definieren, verwenden das InsertFunction-Element und das DeleteFunction-Element untergeordnete EndProperty-Elemente.

NoteHinweis

Das ModificationFunctionMapping-Element kann auch gespeicherte Prozeduren zuordnen, die Instanzen eines EntityType-Elements einfügen, aktualisieren oder löschen. In dieser Instanz ist das ModificationFunctionMapping-Element ein untergeordnetes Element eines EntityTypeMapping-Elements, das wiederum im EntitySetMapping-Element enthalten ist. Weitere Informationen finden Sie unter ModificationFunctionMapping (EntityTypeMapping) und Unterstützung für gespeicherte Prozeduren (Entity Framework).

Beispiel

In diesem Beispiel verwendet das ModificationFunctionMapping-Element sein InsertFunction-Element und sein DeleteFunction-Element, um die gespeicherten Prozeduren anzugeben, die Zuordnungen zwischen einer Contact-Entität und einer Address-Entität erstellen oder löschen. Um die Contact-Entität und die Address-Entität anzugeben, verwenden das InsertFunction-Element und das DeleteFunction-Element ihre EndProperty-Elemente. Diese EndProperty-Elemente verwenden ihre untergeordneten ScalarProperty-Elemente, um die Parameterbindungen für die Schlüsselwerte der Entitäten an den Enden der Association anzugeben. Die untergeordneten ScalarProperty-Elemente geben auch die entsprechenden Parameter von gespeicherten Prozeduren an.

NoteHinweis

Die EndProperty-Bindungen, die in einem Mapping der gespeicherten Prozedur AssociationSet deklariert sind, gleichen dem AssociationEnd-Element, das in einem EntitySet-Funktionsmapping deklariert ist. Für EndProperty-Elemente stellt jedoch das AssociationSet-Element, das sie enthält, den notwendigen Kontext bereit.

Im folgenden Beispiel wird ein vollständiges AssociationSetMapping-Element mit einem ModificationFunctionMapping-Element dargestellt:

  <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>

Siehe auch

Aufgaben

Gewusst wie: Definieren eines Modells mit einer gespeicherten Prozedur (Entity Framework)

Konzepte

Unterstützung für gespeicherte Prozeduren (Entity Framework)
InsertFunction (AssociationSetMapping)
DeleteFunction (AssociationSetMapping)
EndProperty (AssociationSet ModificationFunctionMapping)