InsertFunction (EntityTypeMapping)

ModificationFunctionMapping 項目中的 InsertFunction 項目在 Entity Data Model (EDM) 中是做為 EntityTypeMapping 項目的子項目,它會識別用於建立新實體的預存程序 (Stored Procedure)。

為了建立這個新實體,InsertFunction 項目會將儲存結構描述中實體的屬性對應到資料庫中預存程序的參數。此預存程序會在儲存區中建立實體的新執行個體 (Instance)。

範例

在下列範例中,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>

另請參閱

工作

HOW TO:定義具有預存程序的模型 (Entity Framework)

概念

預存程序支援 (Entity Framework)
ModificationFunctionMapping (AssociationSetMapping)
DeleteFunction (EntityTypeMapping)
UpdateFunction (EntityTypeMapping)