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