Compartir a través de


InsertFunction (Elemento) (MSL)

El elemento InsertFunction del lenguaje de especificación de asignaciones (MSL) asigna la función de inserció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).

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

El elemento InsertFunction puede ser un elemento secundario del elemento ModificationFunctionMapping y se puede aplicar al elemento EntityTypeMapping o al elemento AssociationSetMapping.

InsertFunction aplicado a EntityTypeMapping

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

El elemento InsertFunction 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 InsertFunction cuando 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 inserció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 InsertFunction que se utiliza para asignar la función de inserción del tipo de entidad Person al procedimiento almacenado InsertPerson. El procedimiento almacenado InsertPerson se declara en el modelo de almacenamiento.

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

InsertFunction aplicado a AssociationSetMapping

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

El elemento InsertFunction 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 InsertFunction 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 inserció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 InsertFunction que se utiliza para asignar la función de inserción de la asociación CourseInstructor al procedimiento almacenado InsertCourseInstructor. El procedimiento almacenado InsertCourseInstructor 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)