Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In Entity Data Model (EDM) l'elemento ModificationFunctionMapping, quando è un elemento figlio di un elemento EntityTypeMapping, specifica funzioni nello schema di archiviazione che gestisce l'elaborazione delle modifiche per un oggetto EntityType. L'elemento ModificationFunctionMapping contiene gli elementi DeleteFunction, InsertFunction e UpdateFunction. Ciascuno di questi elementi di funzione include un elemento FunctionName che esegue il mapping a una stored procedure nel modello di archiviazione.
Le funzioni in un elemento ModificationFunctionMapping gestiscono le modifiche apportate a un EntityType. In queste istanze l'elemento ModificationFunctionMapping è contenuto dall'elemento EntityTypeMapping che, a sua volta, è contenuto dall'elemento EntitySetMapping. In questo caso, le associazioni sono gestite come parte di operazioni su entità create, modificate o eliminate.
Nota |
|---|
Le funzioni in un elemento ModificationFunctionMapping possono eseguire il mapping anche a stored procedure che creano o eliminano istanze di un'associazione tra entità esistenti. In queste istanze l'elemento ModificationFunctionMapping è contenuto da un elemento AssociationSetMapping. Per ulteriori informazioni, vedere Mapping di set di associazioni alle stored procedure (Entity Framework) e ModificationFunctionMapping (AssociationSetMapping). |
Esempio
Nell'esempio seguente viene illustrato in che modo l'elemento ModificationFunctionMapping esegue il mapping degli elementi di funzione a stored procedure che gestiscono le modifiche per un elemento EntityType. In questo esempio l'elemento ModificationFunctionMapping esegue il mapping delle funzioni che modificano l'entità SalesOrderDetail identificata dalla sintassi, TypeName="AdventureWorksModel.SalesOrderDetail".
Per utilizzare questo mapping, tutte e tre le funzioni di aggiornamento, ovvero inserimento, aggiornamento ed eliminazione, sulle entità SalesOrderDetail devono essere mappate alle stored procedure. Ognuna delle tre funzioni utilizza gli elementi seguenti per completare il mapping:
L'elemento FunctionName in ogni elemento di funzione identifica ogni stored procedure corrispondente nello schema di archiviazione tramite la sintassi seguente,
FunctionName="AdventureWorksModel.Store.CreateSalesOrderDetail".Gli elementi ScalarProperty in ogni elemento di funzione eseguono il mapping delle proprietà dell'entità di destinazione ai parametri corrispondenti nella stored procedure.
Gli elementi AssociationEnd in ogni elemento Function specificano i dettagli degli aggiornamenti alle associazioni come richiesto dal modello di dati e dalle relazioni di chiave esterna corrispondenti nel modello di archiviazione. L'elemento AssociationEnd all'interno di EntityTypeMapping consente di considerare una relazione come riferimento o una chiave esterna, specifico dell'entità. Per ulteriori informazioni, vedere Supporto delle stored procedure (Entity Framework).
Nell'esempio seguente viene mostrata la dichiarazione completa dell'elemento ModificationFunctionMapping. Questo schema può essere generato dagli strumenti di progettazione di Entity Framework. Per ulteriori informazioni, vedere Procedura dettagliata: mapping di un'entità alle stored procedure.
<ModificationFunctionMapping >
<InsertFunction
FunctionName="AdventureWorksModel.Store.CreateSalesOrderDetail">
<ScalarProperty Name="CarrierTrackingNumber"
ParameterName="CarrierTrackingNumber" Version="Current"/>
<ScalarProperty Name="OrderQty" ParameterName="OrderQty"
Version="Current"/>
<ScalarProperty Name="ProductID" ParameterName="ProductID"
Version="Current"/>
<ScalarProperty Name="SpecialOfferID"
ParameterName="SpecialOfferID" Version="Current"/>
<ScalarProperty Name="UnitPrice" ParameterName="UnitPrice"
Version="Current"/>
<ScalarProperty Name="UnitPriceDiscount"
ParameterName="UnitPriceDiscount" Version="Current"/>
<ScalarProperty Name="rowguid" ParameterName="rowguid" Version="Current"/>
<ScalarProperty Name="ModifiedDate"
ParameterName="ModifiedDate" Version="Current"/>
<AssociationEnd
AssociationSet="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"
From="SalesOrderDetail" To="SalesOrderHeader">
<ScalarProperty Name="SalesOrderID"
ParameterName="SalesOrderID" />
</AssociationEnd>
<ResultBinding ColumnName="SalesOrderDetailID"
Name="SalesOrderDetailID" />
<ResultBinding ColumnName="LineTotal" Name="LineTotal" />
</InsertFunction>
<UpdateFunction
FunctionName="AdventureWorksModel.Store.UpdateSalesOrderDetail" >
<ScalarProperty Name="OrderQty" ParameterName="OrderQty" Version="Current"/>
<ScalarProperty Name="SalesOrderDetailID"
ParameterName="SalesOrderDetailID" Version="Current"/>
<AssociationEnd
AssociationSet="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"
From="SalesOrderDetail" To="SalesOrderHeader">
<ScalarProperty Name="SalesOrderID"
ParameterName="SalesOrderID" Version="Current" />
</AssociationEnd>
</UpdateFunction>
<DeleteFunction
FunctionName="AdventureWorksModel.Store.DeleteSalesOrderDetail" >
<ScalarProperty Name="SalesOrderDetailID"
ParameterName="SalesOrderDetailID" Version="Original"/>
<AssociationEnd
AssociationSet="FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID"
From="SalesOrderDetail" To="SalesOrderHeader">
<ScalarProperty Name="SalesOrderID"
ParameterName="SalesOrderID" />
</AssociationEnd>
</DeleteFunction>
</ModificationFunctionMapping>
Vedere anche
Attività
Procedura: definire un modello con una stored procedure (Entity Framework)
Concetti
ModificationFunctionMapping (AssociationSetMapping)
Supporto delle stored procedure (Entity Framework)
Altre risorse
Procedura dettagliata: mapping di un'entità alle stored procedure
Nota