다음을 통해 공유


ComplexTypeMapping 요소(MSL)

MSL(매핑 사양 언어)의 ComplexTypeMapping 요소는 ResultMapping 요소의 자식으로, 다음과 같은 경우에 개념적 모델의 Function Import와 기본 데이터베이스의 저장 프로시저 간 매핑을 정의합니다.

  • Function Import가 개념적 복합 형식을 반환하는 경우

  • 저장 프로시저에서 반환되는 열 이름이 복합 형식의 속성 이름과 정확히 일치하지 않는 경우

기본적으로 저장 프로시저에서 반환되는 열과 복합 형식 간의 매핑은 열 및 속성 이름을 기반으로 합니다. 열 이름이 속성 이름과 정확히 일치하지 않으면 ComplexTypeMapping 요소를 사용하여 매핑을 정의해야 합니다. 기본 매핑의 예제는 FunctionImportMapping 요소(MSL)를 참조하십시오.

ComplexTypeMapping 요소에는 다음 자식 요소가 있을 수 있습니다.

적용 가능한 특성

다음 표에서는 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>

참고 항목

개념

ScalarProperty 요소(MSL)

기타 리소스

모델링 및 매핑(Entity Framework)
How to: Import a Stored Procedure
How to: Map a Function Import to a Complex Type