InsertFunction (EntityTypeMapping)
作为实体数据模型 (EDM) 中 EntityTypeMapping 元素的子元素,ModificationFunctionMapping 元素中的 InsertFunction 元素标识创建新实体的存储过程。
为创建此新实体,InsertFunction 元素会将存储架构中实体的属性映射到数据库中存储过程的参数。存储过程创建存储中的实体的新实例。
示例
在下面的示例中,InsertFunction 元素映射一个存储过程,该存储过程创建 Adventureworks 销售模型中 SalesOrderDetail
实体的新实例。InsertFunction 元素中的每个 ScalarProperty 子元素将 SalesOrderDetail
实体的属性映射到该存储过程中的参数。为了映射这些实体,ScalarProperty 子元素使用了以下属性:
Name 属性 (Attribute) 标识要映射的
SalesOrderDetail
实体的属性 (Property)。ParameterName 属性 (Attribute) 标识
SalesOrderDetail
实体的属性 (Property) 映射到的存储过程参数。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>
另请参见
任务
概念
存储过程支持(实体框架)
ModificationFunctionMapping (AssociationSetMapping)
DeleteFunction (EntityTypeMapping)
UpdateFunction (EntityTypeMapping)