Elemento DeleteFunction (MSL)

L'elemento DeleteFunction in MSL (Mapping Specification Language) consente di eseguire il mapping della funzione di eliminazione 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).

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

DeleteFunction applicato a EntityTypeMapping

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

L'elemento DeleteFunction 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 DeleteFunction 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 eliminazione 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 DeleteFunction che esegue il mapping della funzione di eliminazione del tipo di entità Person alla stored procedure DeletePerson. La stored procedure DeletePerson viene dichiarata nel modello di archiviazione.

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

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

L'elemento DeleteFunction 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 DeleteFunction quando applicato all'elemento AssociationSetMapping.

Nome attributo È obbligatorio Valore

FunctionName

Nome completo dello spazio dei nomi della stored procedure a cui la funzione di eliminazione 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 DeleteFunction utilizzato per il mapping della funzione di eliminazione dell'associazione CourseInstructor alla stored procedure DeleteCourseInstructor. La stored procedure DeleteCourseInstructor 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)