MSL(매핑 사양 언어)의 UpdateFunction 요소는 개념적 모델의 엔터티 형식에 대한 업데이트 함수를 기본 데이터베이스의 저장 프로시저에 매핑합니다. 수정 함수가 매핑되는 저장 프로시저는 저장소 모델에서 선언해야 합니다. 자세한 내용은 Function 요소(SSDL)를 참조하십시오.
![]() |
---|
엔터티 형식의 세 가지 작업인 삽입, 업데이트 또는 삭제 작업을 저장 프로시저에 모두 매핑하지 않을 경우 매핑되지 않은 작업을 런타임에 실행하면 해당 작업은 실패하고 UpdateException이 throw됩니다. |
UpdateFunction 요소는 ModificationFunctionMapping 요소의 자식일 수 있으며 EntityTypeMapping 요소에 적용될 수 있습니다.
UpdateFunction 요소에는 다음 자식 요소가 있을 수 있습니다.
AssociationEnd(0개 이상)
ComplexProperty(0개 이상)
ResultBinding(0개 또는 1개)
ScarlarProperty(0개 이상)
적용 가능한 특성
다음 표에서는 UpdateFunction 요소에 적용할 수 있는 특성에 대해 설명합니다.
특성 이름 | 필수 여부 | 값 |
---|---|---|
FunctionName |
예 |
업데이트 함수가 매핑되는 저장 프로시저의 네임스페이스로 한정된 이름입니다. 저장 프로시저는 저장소 모델에서 선언해야 합니다. |
RowsAffectedParameter |
아니요 |
영향을 받는 행 수를 반환하는 출력 매개 변수의 이름입니다. |
예제
다음 예제는 School 모델을 기반으로 하며, Person 엔터티 형식의 업데이트 함수를 UpdatePerson 저장 프로시저에 매핑하는 데 사용되는 UpdateFunction 요소를 보여 줍니다. UpdatePerson 저장 프로시저는 저장소 모델에서 선언해야 합니다.
<EntityTypeMapping TypeName="SchoolModel.Person">
<ModificationFunctionMapping>
<InsertFunction FunctionName="SchoolModel.Store.InsertPerson">
<ScalarProperty Name="EnrollmentDate"
ParameterName="EnrollmentDate" />
<ScalarProperty Name="HireDate" ParameterName="HireDate" />
<ScalarProperty Name="FirstName" ParameterName="FirstName" />
<ScalarProperty Name="LastName" ParameterName="LastName" />
<ResultBinding Name="PersonID" ColumnName="NewPersonID" />
</InsertFunction>
<UpdateFunction FunctionName="SchoolModel.Store.UpdatePerson">
<ScalarProperty Name="EnrollmentDate"
ParameterName="EnrollmentDate"
Version="Current" />
<ScalarProperty Name="HireDate" ParameterName="HireDate"
Version="Current" />
<ScalarProperty Name="FirstName" ParameterName="FirstName"
Version="Current" />
<ScalarProperty Name="LastName" ParameterName="LastName"
Version="Current" />
<ScalarProperty Name="PersonID" ParameterName="PersonID"
Version="Current" />
</UpdateFunction>
<DeleteFunction FunctionName="SchoolModel.Store.DeletePerson">
<ScalarProperty Name="PersonID" ParameterName="PersonID" />
</DeleteFunction>
</ModificationFunctionMapping>
</EntityTypeMapping>