MSL(매핑 사양 언어)의 ResultMapping 요소는 다음과 같은 경우 개념적 모델의 Function Import와 기본 데이터베이스의 저장 프로시저 간에 매핑을 정의합니다.
Function Import가 개념적 모델 엔터티 형식 또는 복합 형식을 반환하는 경우
저장 프로시저에서 반환되는 열 이름이 엔터티 형식 또는 복합 형식의 속성 이름과 정확히 일치하지 않는 경우
기본적으로 저장 프로시저에서 반환되는 열과 엔터티 형식 또는 복합 형식 간의 매핑은 열 및 속성 이름을 기반으로 합니다. 열 이름이 속성 이름과 정확히 일치하지 않으면 ResultMapping 요소를 사용하여 매핑을 정의해야 합니다. 기본 매핑의 예제는 FunctionImportMapping 요소(MSL)를 참조하십시오.
ResultMapping 요소는 FunctionImportMapping 요소의 자식 요소입니다.
ResultMapping 요소에는 다음 자식 요소가 있을 수 있습니다.
ResultMapping 요소에는 특성을 사용할 수 없습니다.
예제
다음과 같은 저장 프로시저가 있다고 가정합니다.
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
또한 다음과 같은 개념적 모델 엔터티 형식이 있다고 가정합니다.
<EntityType Name="StudentGrade">
<Key>
<PropertyRef Name="EnrollmentID" />
</Key>
<Property Name="EnrollmentID" Type="Int32" Nullable="false"
annotation:StoreGeneratedPattern="Identity" />
<Property Name="CourseID" Type="Int32" Nullable="false" />
<Property Name="StudentID" Type="Int32" Nullable="false" />
<Property Name="Grade" Type="Decimal" Precision="3" Scale="2" />
</EntityType>
이전 엔터티 형식의 인스턴스를 반환하는 Function Import를 만들려면 저장 프로시저에서 반환되는 열과 엔터티 형식 간의 매핑을 ResultMapping 요소에서 정의해야 합니다.
<FunctionImportMapping FunctionImportName="GetGrades"
FunctionName="SchoolModel.Store.GetGrades" >
<ResultMapping>
<EntityTypeMapping TypeName="SchoolModel.StudentGrade">
<ScalarProperty Name="EnrollmentID" ColumnName="enroll_id"/>
<ScalarProperty Name="CourseID" ColumnName="course_id"/>
<ScalarProperty Name="StudentID" ColumnName="student_id"/>
<ScalarProperty Name="Grade" ColumnName="grade"/>
</EntityTypeMapping>
</ResultMapping>
</FunctionImportMapping>
참고 항목
기타 리소스
CSDL, SSDL 및 MSL 사양
모델링 및 매핑(Entity Framework)
How to: Import a Stored Procedure