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)