Share via


ModificationFunctionMapping (AssociationSetMapping)

Como elemento secundario de un elemento AssociationSetMapping en el Entity Data Model (EDM), el elemento ModificationFunctionMapping especifica procedimientos almacenados que insertan y eliminan instancias de Association entre las entidades. Utilice un elemento ModificationFunctionMapping en un elemento AssociationSetMapping cuando está asignando muchas asociaciones de varios a varios que son admitidas por una tabla de vínculos en el modelo de almacenamiento.

En una función AssociationSetMappping, el elemento ModificationFunctionMapping contiene un elemento InsertFunction que identifica el procedimiento almacenado que crea la asociación entre las entidades. El elemento ModificationFunctionMapping también incluye un elemento DeleteFunction que identifica el procedimiento almacenado que elimina la asociación entre las entidades. Para definir las entidades en la asociación, los elementos DeleteFunction e InsertFunction utilizan los elementos secundarios EndProperty.

Nota

El elemento ModificationFunctionMapping puede asignar procedimientos almacenados que insertan también, actualizan o eliminan instancias de un elemento EntityType. En esta instancia, el elemento ModificationFunctionMapping es un elemento secundario de un elemento EntityTypeMapping que, a su vez, es contenido por el elemento EntitySetMapping. Para obtener más información, vea ModificationFunctionMapping (EntityTypeMapping) y Compatibilidad con los procedimientos almacenados (Entity Framework).

Ejemplo

En este ejemplo, el elemento ModificationFunctionMapping utiliza elementos DeleteFunction e InsertFunction para identificar los procedimientos almacenados que crean o eliminan las asociaciones entre una entidad Contact y una entidad Address. Para especificar las entidades Address y Contact, los elementos DeleteFunction e InsertFunction utilizann sus elementos EndProperty. Estos elementos EndProperty utilizan sus elementos secundarios ScalarProperty para describir los enlaces de parámetro para los valores de clave de las entidades en los extremos Association. Los elementos secundarios ScalarProperty también especifican los parámetros correspondientes de los procedimientos almacenados.

Nota

Los enlaces EndProperty que se declaran en una asignación de procedimiento almacenado AssociationSet se parecen al elemento AssociationEnd que se declara en una asignación de función EntitySet. Sin embargo, para los elementos EndProperty, el elemento AssociationSet que los contiene proporciona el contexto necesario.

En el ejemplo siguiente se muestra 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>

Vea también

Tareas

Cómo definir un modelo con un procedimiento almacenado (Entity Framework)

Conceptos

Compatibilidad con los procedimientos almacenados (Entity Framework)
InsertFunction (AssociationSetMapping)
DeleteFunction (AssociationSetMapping)
EndProperty (AssociationSet ModificationFunctionMapping)