ComplexTypeMapping 요소(MSL)
MSL(매핑 사양 언어)의 ComplexTypeMapping 요소는 ResultMapping 요소의 자식으로, 다음과 같은 경우에 개념적 모델의 Function Import와 기본 데이터베이스의 저장 프로시저 간 매핑을 정의합니다.
Function Import가 개념적 복합 형식을 반환하는 경우
저장 프로시저에서 반환되는 열 이름이 복합 형식의 속성 이름과 정확히 일치하지 않는 경우
기본적으로 저장 프로시저에서 반환되는 열과 복합 형식 간의 매핑은 열 및 속성 이름을 기반으로 합니다. 열 이름이 속성 이름과 정확히 일치하지 않으면 ComplexTypeMapping 요소를 사용하여 매핑을 정의해야 합니다. 기본 매핑의 예제는 FunctionImportMapping 요소(MSL)를 참조하십시오.
ComplexTypeMapping 요소에는 다음 자식 요소가 있을 수 있습니다.
- ScalarProperty(0개 이상)
적용 가능한 특성
다음 표에서는 ComplexTypeMapping 요소에 사용할 수 있는 특성에 대해 설명합니다.
특성 이름 | 필수 여부 | 값 |
---|---|---|
TypeName |
예 |
매핑되는 복합 형식의 네임스페이스로 한정된 이름입니다. |
예제
다음과 같은 저장 프로시저가 있다고 가정합니다.
CREATE PROCEDURE [dbo].[GetGrades]
@student_Id int
AS
SELECT EnrollmentID as enroll_id,
Grade as grade,
CourseID as course_id,
StudentID as student_id
FROM dbo.StudentGrade
WHERE StudentID = @student_Id
또한 다음과 같은 개념적 모델 복합 형식이 있다고 가정합니다.
<ComplexType Name="GradeInfo">
<Property Type="Int32" Name="EnrollmentID" Nullable="false" />
<Property Type="Decimal" Name="Grade" Nullable="true"
Precision="3" Scale="2" />
<Property Type="Int32" Name="CourseID" Nullable="false" />
<Property Type="Int32" Name="StudentID" Nullable="false" />
</ComplexType>
이전 복합 형식의 인스턴스를 반환하는 Function Import를 만들려면 저장 프로시저에서 반환되는 열과 엔터티 형식 간의 매핑을 ComplexTypeMapping 요소에서 정의해야 합니다.
<FunctionImportMapping FunctionImportName="GetGrades"
FunctionName="SchoolModel.Store.GetGrades" >
<ResultMapping>
<ComplexTypeMapping TypeName="SchoolModel.GradeInfo">
<ScalarProperty Name="EnrollmentID" ColumnName="enroll_id"/>
<ScalarProperty Name="CourseID" ColumnName="course_id"/>
<ScalarProperty Name="StudentID" ColumnName="student_id"/>
<ScalarProperty Name="Grade" ColumnName="grade"/>
</ComplexTypeMapping>
</ResultMapping>
</FunctionImportMapping>
참고 항목
개념
기타 리소스
모델링 및 매핑(Entity Framework)
How to: Import a Stored Procedure
How to: Map a Function Import to a Complex Type