Condividi tramite


ModificationFunctionMapping (AssociationSetMapping)

Come elemento figlio di un elemento AssociationSetMapping nel modello EDM (Entity Data Model), l'elemento ModificationFunctionMapping specifica le stored procedure che inseriscono ed eliminano istanze di un oggetto Association tra entità. Utilizzare un elemento ModificationFunctionMapping in un elemento AssociationSetMapping quando si esegue il mapping di associazioni molti-a-molti supportate da una tabella dei collegamenti nel modello di archiviazione.

In una funzione AssociationSetMappping l'elemento ModificationFunctionMapping contiene un elemento InsertFunction che identifica la stored procedure che crea l'associazione tra entità. L'elemento ModificationFunctionMapping include anche un elemento DeleteFunction che identifica la stored procedure che elimina l'associazione tra entità. Per definire le entità nell'associazione, entrambi gli elementi InsertFunction e DeleteFunction utilizzano elementi figlio EndProperty.

NoteNota

L'elemento ModificationFunctionMapping può anche eseguire il mapping di stored procedure che inseriscono, aggiornano o eliminano istanze di un elemento EntityType. In questa istanza l'elemento ModificationFunctionMapping è un elemento figlio di un elemento EntityTypeMapping che, a sua volta, è contenuto nell'elemento EntitySetMapping. Per ulteriori informazioni, vedere ModificationFunctionMapping (EntityTypeMapping) e Supporto delle stored procedure (Entity Framework).

Esempio

In questo esempio l'elemento ModificationFunctionMapping utilizza gli elementi InsertFunction e DeleteFunction per identificare le stored procedure che creano o eliminano le associazioni tra un'entità Contact e un'entità Address. Per specificare le entità Contact e Address, gli elementi InsertFunction e DeleteFunction utilizzano i rispettivi elementi EndProperty. Tali elementi EndProperty utilizzano i propri elementi figlio ScalarProperty per descrivere le associazioni di parametro per i valori chiave delle entità finali dell'oggetto Association. Gli elementi figlio ScalarProperty specificano anche i parametri corrispondenti delle stored procedure.

NoteNota

Le associazioni EndProperty dichiarate in un mapping di stored procedure AssociationSet sono simili all'elemento AssociationEnd dichiarato in un mapping di funzione EntitySet. Per gli elementi EndProperty, tuttavia, l'elemento AssociationSet che li contiene fornisce il contesto necessario.

Nell'esempio seguente è illustrato un elemento AssociationSetMapping completo con un elemento 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>

Vedere anche

Attività

Procedura: definire un modello con una stored procedure (Entity Framework)

Concetti

Supporto delle stored procedure (Entity Framework)
InsertFunction (AssociationSetMapping
DeleteFunction (AssociationSetMapping)
EndProperty (AssociationSet ModificationFunctionMapping)