Compartir a través de


DeleteFunction (Elemento) (MSL)

El elemento DeleteFunction del lenguaje de especificación de asignaciones (MSL) asigna la función de eliminación de un tipo de entidad o asociación del modelo conceptual a un procedimiento almacenado de la base de datos subyacente. Los procedimientos almacenados a los que están asignados las funciones de modificación se deben declarar en el modelo de almacenamiento. Para obtener más información, vea Function (Elemento) (SSDL).

Cc716748.note(es-es,VS.100).gifNota:
Si no asigna las tres operaciones de inserción, actualización o eliminación de un tipo de entidad a procedimientos almacenados, se producirá un error en las operaciones no asignadas al ejecutarlas y se producirá una excepción UpdateException.

DeleteFunction aplicado a EntityTypeMapping

Cuando se aplica al elemento EntityTypeMapping, el elemento DeleteFunction asigna la función de eliminación de un tipo de entidad del modelo conceptual a un procedimiento almacenado.

El elemento DeleteFunction puede tener los elementos secundarios siguientes cuando se aplica a un elemento EntityTypeMapping:

Atributos aplicables

En la tabla siguiente se describen los atributos que se pueden aplicar al elemento DeleteFunction cuando este se aplica a un elemento EntityTypeMapping.

Nombre de atributo Es necesario Valor

FunctionName

El nombre completo, calificado con el espacio de nombres, del procedimiento almacenado al que la función de eliminación está asignada. El procedimiento almacenado se debe declarar en el modelo de almacenamiento.

RowsAffectedParameter

No

El nombre del parámetro de salida que devuelve el número de filas afectadas.

Ejemplo

El siguiente ejemplo se basa en el modelo School y muestra el elemento DeleteFunction que asignando la función de eliminación del tipo de entidad Person al procedimiento almacenado DeletePerson. El procedimiento almacenado DeletePerson se declara en el modelo de almacenamiento.

<EntitySetMapping Name="People">
  <EntityTypeMapping TypeName="SchoolModel.Person">
    <MappingFragment StoreEntitySet="Person">
      <ScalarProperty Name="PersonID" ColumnName="PersonID" />
      <ScalarProperty Name="LastName" ColumnName="LastName" />
      <ScalarProperty Name="FirstName" ColumnName="FirstName" />
      <ScalarProperty Name="HireDate" ColumnName="HireDate" />
      <ScalarProperty Name="EnrollmentDate" 
                      ColumnName="EnrollmentDate" />
    </MappingFragment>
</EntityTypeMapping>
  <EntityTypeMapping TypeName="SchoolModel.Person">
    <ModificationFunctionMapping>
      <InsertFunction FunctionName="SchoolModel.Store.InsertPerson">
        <ScalarProperty Name="EnrollmentDate"
                        ParameterName="EnrollmentDate" />
        <ScalarProperty Name="HireDate" ParameterName="HireDate" />
        <ScalarProperty Name="FirstName" ParameterName="FirstName" />
        <ScalarProperty Name="LastName" ParameterName="LastName" />
        <ResultBinding Name="PersonID" ColumnName="NewPersonID" />
      </InsertFunction>
      <UpdateFunction FunctionName="SchoolModel.Store.UpdatePerson">
        <ScalarProperty Name="EnrollmentDate"
                        ParameterName="EnrollmentDate"
                        Version="Current" />
        <ScalarProperty Name="HireDate" ParameterName="HireDate"
                        Version="Current" />
        <ScalarProperty Name="FirstName" ParameterName="FirstName"
                        Version="Current" />
        <ScalarProperty Name="LastName" ParameterName="LastName"
                        Version="Current" />
        <ScalarProperty Name="PersonID" ParameterName="PersonID"
                        Version="Current" />
      </UpdateFunction>
      <DeleteFunction FunctionName="SchoolModel.Store.DeletePerson">
        <ScalarProperty Name="PersonID" ParameterName="PersonID" />
      </DeleteFunction>
    </ModificationFunctionMapping>
  </EntityTypeMapping>
</EntitySetMapping>

DeleteFunction aplicado a AssociationSetMapping

Cuando se aplica al elemento AssociationSetMapping, el elemento DeleteFunction asigna la función de eliminación de una asociación del modelo conceptual a un procedimiento almacenado.

El elemento DeleteFunction puede tener los elementos secundarios siguientes cuando se aplica al elemento AssociationSetMapping:

Atributos aplicables

En la tabla siguiente se describen los atributos que se pueden aplicar al elemento DeleteFunction cuando este se aplica al elemento AssociationSetMapping.

Nombre de atributo Es necesario Valor

FunctionName

El nombre completo, calificado con el espacio de nombres, del procedimiento almacenado al que la función de eliminación está asignada. El procedimiento almacenado se debe declarar en el modelo de almacenamiento.

RowsAffectedParameter

No

El nombre del parámetro de salida que devuelve el número de filas afectadas.

Ejemplo

El siguiente ejemplo se basa en el modelo School y muestra el elemento DeleteFunction que se utiliza para asignar la función de eliminación de la asociación CourseInstructor al procedimiento almacenado DeleteCourseInstructor. El procedimiento almacenado DeleteCourseInstructor se declara en el modelo de almacenamiento.

<AssociationSetMapping Name="CourseInstructor" 
                       TypeName="SchoolModel.CourseInstructor" 
                       StoreEntitySet="CourseInstructor">
  <EndProperty Name="Person">
    <ScalarProperty Name="PersonID" ColumnName="PersonID" />
  </EndProperty>
  <EndProperty Name="Course">
    <ScalarProperty Name="CourseID" ColumnName="CourseID" />
  </EndProperty>
  <ModificationFunctionMapping>
    <InsertFunction FunctionName="SchoolModel.Store.InsertCourseInstructor" >   
      <EndProperty Name="Course">
        <ScalarProperty Name="CourseID" ParameterName="courseId"/>
      </EndProperty>
      <EndProperty Name="Person">
        <ScalarProperty Name="PersonID" ParameterName="instructorId"/>
      </EndProperty>
    </InsertFunction>
    <DeleteFunction FunctionName="SchoolModel.Store.DeleteCourseInstructor">
      <EndProperty Name="Course">
        <ScalarProperty Name="CourseID" ParameterName="courseId"/>
      </EndProperty>
      <EndProperty Name="Person">
        <ScalarProperty Name="PersonID" ParameterName="instructorId"/>
      </EndProperty>
    </DeleteFunction>
  </ModificationFunctionMapping>
</AssociationSetMapping>

Vea también

Otros recursos

Especificaciones CSDL, SSDL y MSL
Modelado y asignación (Entity Framework)