Condividi tramite


Elemento InsertFunction (MSL)

L'elemento InsertFunction in MSL (Mapping Specification Language) consente di eseguire il mapping della funzione di inserimento di un tipo di entità o associazione nel modello concettuale a una stored procedure nel database sottostante. Le stored procedure a cui le funzioni di modifica sono mappate devono essere dichiarate nel modello di archiviazione. Per ulteriori informazioni, vedere Elemento Function (SSDL).

Cc716749.note(it-it,VS.100).gifNota:
Se non si esegue il mapping di tutte e tre le operazioni di inserimento, aggiornamento ed eliminazione di un tipo di entità alle stored procedure, le operazioni non mappate avranno esito negativo se eseguite in fase di esecuzione; verrà inoltre generata un'eccezione UpdateException.

L'elemento InsertFunction può essere un figlio dell'elemento ModificationFunctionMapping e applicato all'elemento EntityTypeMapping o all'elemento AssociationSetMapping.

InsertFunction applicato a EntityTypeMapping

Quando applicato all'elemento EntityTypeMapping, l'elemento InsertFunction esegue il mapping della funzione di inserimento di un tipo di entità nel modello concettuale a una stored procedure.

L'elemento InsertFunction può includere i seguenti elementi figlio quando applicato a un elemento EntityTypeMapping:

Attributi applicabili

Nella tabella seguente vengono descritti gli attributi che è possibile applicare all'elemento InsertFunction quando applicato a un elemento EntityTypeMapping.

Nome attributo È obbligatorio Valore

FunctionName

Nome completo dello spazio dei nomi della stored procedure a cui la funzione di inserimento viene mappata. La stored procedure deve essere dichiarata nel modello di archiviazione.

RowsAffectedParameter

No

Nome del parametro di output che restituisce il numero di righe interessate.

Esempio

Nell'esempio seguente, basato sul modello School, viene mostrato l'elemento InsertFunction utilizzato per il mapping della funzione di inserimento del tipo di entità Person alla stored procedure InsertPerson. La stored procedure InsertPerson viene dichiarata nel modello di archiviazione.

<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 applicato ad AssociationSetMapping

Quando applicato all'elemento AssociationSetMapping, l'elemento InsertFunction esegue il mapping della funzione di inserimento di un'associazione nel modello concettuale a una stored procedure.

L'elemento InsertFunction può includere i seguenti elementi figlio quando applicato all'elemento AssociationSetMapping:

Attributi applicabili

Nella tabella seguente vengono descritti gli attributi che è possibile applicare all'elemento InsertFunction quando applicato all'elemento AssociationSetMapping.

Nome attributo È obbligatorio Valore

FunctionName

Nome completo dello spazio dei nomi della stored procedure a cui la funzione di inserimento viene mappata. La stored procedure deve essere dichiarata nel modello di archiviazione.

RowsAffectedParameter

No

Nome del parametro di output che restituisce il numero di righe interessate.

Esempio

Nell'esempio seguente, basato sul modello School, viene mostrato l'elemento InsertFunction utilizzato per il mapping della funzione di inserimento dell'associazione CourseInstructor alla stored procedure InsertCourseInstructor. La stored procedure InsertCourseInstructor viene dichiarata nel modello di archiviazione.

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

Vedere anche

Altre risorse

Specifiche CSDL, SSDL e MSL
Modellazione e mapping (Entity Framework)