다음을 통해 공유


InsertFunction(EntityTypeMapping)

EDM(엔터티 데이터 모델)에 있는 EntityTypeMapping 요소의 자식 요소인 ModificationFunctionMapping 요소의 InsertFunction 요소는 새 엔터티를 만드는 저장 프로시저를 식별합니다.

이 새 엔터티를 만들기 위해 InsertFunction 요소는 저장소 스키마의 엔터티 속성을 데이터베이스의 저장 프로시저 매개 변수에 매핑합니다. 저장 프로시저는 저장소에 엔터티의 새 인스턴스를 만듭니다.

예제

다음 예제에서 InsertFunction 요소는 Adventureworks Sales 모델에 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)