ResultMapping 요소(MSL)
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