다음을 통해 공유


ModificationFunctionMapping(AssociationSetMapping)

EDM(엔터티 데이터 모델)에 있는 AssociationSetMapping 요소의 자식 요소인 ModificationFunctionMapping 요소는 엔터티 간의 Association 인스턴스를 삽입 및 삭제하는 저장 프로시저를 지정합니다. 저장소 모델의 링크 테이블에서 지원하는 다 대 다 연결을 매핑할 때는 AssociationSetMapping 요소의 ModificationFunctionMapping 요소를 사용합니다.

AssociationSetMappping 함수의 ModificationFunctionMapping 요소에는 엔터티 간의 연결을 만드는 저장 프로시저를 식별하는 InsertFunction 요소가 포함됩니다. ModificationFunctionMapping 요소에는 엔터티 간의 연결을 삭제하는 저장 프로시저를 식별하는 DeleteFunction 요소도 포함됩니다. 연결의 엔터티를 정의하기 위해 InsertFunctionDeleteFunction 요소는 모두 EndProperty 자식 요소를 사용합니다.

Note참고

ModificationFunctionMapping 요소는 EntityType 요소 인스턴스를 삽입, 업데이트 또는 삭제하는 저장 프로시저도 매핑할 수 있습니다. 이 인스턴스에서 ModificationFunctionMapping 요소는 EntityTypeMapping 요소의 자식 요소이고, 이 요소는 다시 EntitySetMapping 요소에 포함됩니다. 자세한 내용은 ModificationFunctionMapping(EntityTypeMapping)저장 프로시저 지원(Entity Framework)을 참조하십시오.

예제

이 예제에서 ModificationFunctionMapping 요소는 InsertFunctionDeleteFunction 요소를 사용하여 Contact 엔터티와 Address 엔터티 간의 연결을 만들거나 삭제하는 저장 프로시저를 식별합니다. ContactAddress 엔터티를 지정하기 위해 InsertFunctionDeleteFunction 요소는 해당 EndProperty 요소를 사용합니다. EndProperty 요소는 ScalarProperty 자식 요소를 사용하여 Association의 끝에 엔터티의 키 값에 대한 매개 변수 바인딩을 설명합니다. ScalarProperty 자식 요소는 저장 프로시저의 해당 매개 변수도 지정합니다.

Note참고

AssociationSet 저장 프로시저 매핑에 선언된 EndProperty 바인딩은 EntitySet 함수 매핑에 선언된 AssociationEnd 요소와 유사합니다. 그러나 EndProperty 요소의 경우 해당 요소가 포함된 AssociationSet 요소에서 필요한 컨텍스트를 제공합니다.

다음 예제에서는 ModificationFunctionMapping 요소가 포함된 전체 AssociationSetMapping 요소를 보여 줍니다.

  <AssociationSetMapping Name="Contact_Address"
                TypeName="ContactInformationModel.Contact_Address"
                StoreEntitySet="Contact_Address">
    <EndProperty Name="Address">
      <ScalarProperty Name="AddressID" ColumnName="AddressID" />
    </EndProperty>
    <EndProperty Name="Contact">
      <ScalarProperty Name="ContactID" ColumnName="ContactID" />
    </EndProperty>
    <ModificationFunctionMapping>
      <DeleteFunction
        FunctionName="ContactInformationModel.Store.DeleteAddress">
        <EndProperty Name="Address">
          <ScalarProperty Name="AddressID" ParameterName="AddressID"/>
        </EndProperty>
        <EndProperty Name="Contact">
          <ScalarProperty Name="ContactID" ParameterName="ContactID"/>
        </EndProperty>
      </DeleteFunction>
      <InsertFunction
        FunctionName="ContactInformationModel.Store.SetAddress">
        <EndProperty Name="Address">
          <ScalarProperty Name="AddressID" ParameterName="AddressID"/>
        </EndProperty>
        <EndProperty Name="Contact">
          <ScalarProperty Name="ContactID" ParameterName="ContactID"/>
        </EndProperty>
      </InsertFunction>
    </ModificationFunctionMapping>

참고 항목

작업

방법: 저장 프로시저로 모델 정의(Entity Framework)

개념

저장 프로시저 지원(Entity Framework)
InsertFunction(AssociationSetMapping)
DeleteFunction(AssociationSetMapping)
EndProperty(AssociationSet ModificationFunctionMapping)