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).
Nota: |
---|
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:
AssociationEnd (zero o più elementi)
ComplexProperty (zero o più elementi)
ResultBinding (zero o un elemento)
ScarlarProperty (zero o più elementi)
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 |
Sì |
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 |
Sì |
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)