Entity Data Model (EDM) の EntityTypeMapping 要素の子要素として、ModificationFunctionMapping 要素の UpdateFunction 要素は、既存のエンティティを更新または変更するストアド プロシージャを識別します。
エンティティを更新するために、UpdateFunction 要素は、ストレージ スキーマのエンティティのプロパティを、データベース内のストアド プロシージャのパラメータにマップします。このストアド プロシージャにより、ストレージ内のデータ型のインスタンスが変更されます。
例
次の例では、UpdateFunction 要素は、Adventureworks Sales Model の SalesOrderDetail エンティティのインスタンスを変更するストアド プロシージャをマップします。UpdateFunction 要素の各 ScalarProperty 子要素は、ストレージ モデルの SalesOrderDetail エンティティのプロパティをストアド プロシージャのパラメータにマップします。これらのエンティティをマップするために、ScalarProperty 子要素は次の属性を使用します。
Name 属性は、マップ対象の
SalesOrderDetailエンティティのプロパティを識別します。ParameterName 属性は、
SalesOrderDetailエンティティのプロパティをマップするストアド プロシージャのパラメータを識別します。Version 属性は、データがデータベースから読み取った元のデータであるか、クライアント コードによって変更された可能性のある現在のデータであるかを示します。
ScalarProperty 子要素に加えて、UpdateFunction 要素には、変更されるエンティティが参照する可能性のあるアソシエーションをマップする AssociationEnd 要素が含まれます。詳細については、「AssociationEnd (EntityTypeMapping)」を参照してください。
<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>
参照
処理手順
ストアド プロシージャを使用してモデルを定義する方法 (Entity Framework)
概念
ストアド プロシージャのサポート (Entity Framework)
ModificationFunctionMapping (AssociationSetMapping)
DeleteFunction (EntityTypeMapping)
InsertFunction (EntityTypeMapping)