ResultMapping-Element (MSL)
Das ResultMapping-Element der Mapping-Spezifikationssprache (Mapping Specification Language, MSL) definiert die Zuordnung eines Funktionsimports im konzeptionellen Modell zu einer gespeicherten Prozedur in der zugrunde liegenden Datenbank, wenn Folgendes zutrifft:
Der Funktionsimport gibt einen Entitätstyp des konzeptionellen Modells oder einen komplexen Typ zurück.
Die Namen der Spalten, die von der gespeicherten Prozedur zurückgegeben werden, entsprechen nicht exakt den Namen der Eigenschaften für den Entitätstyp oder den komplexem Typ.
Standardmäßig basiert die Zuordnung der von einer gespeicherten Prozedur zurückgegebenen Spalten zu einem Entitätstyp oder einem komplexen Typ auf den Spalten- und Eigenschaftennamen. Wenn Spaltennamen nicht exakt mit den Eigenschaftennamen übereinstimmen, müssen Sie die Zuordnung mithilfe des ResultMapping-Elements definieren. Ein Beispiel für die Standardzuordnung finden Sie unter FunctionImportMapping-Element (MSL).
Das ResultMapping-Element ist ein untergeordnetes Element FunctionImportMapping-Elements.
Das ResultMapping-Element kann die folgenden untergeordneten Elemente aufweisen:
Auf das ResultMapping-Element sind keine Attribute anwendbar.
Beispiel
Betrachten Sie die folgende gespeicherte Prozedur:
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
Betrachten Sie auch den folgenden Entitätstyp des konzeptionellen Modells:
<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>
Um einen Funktionsimport zu erstellen, der Instanzen des vorherigen Entitätstyps zurückgibt, muss die Zuordnung der Spalten, die von der gespeicherten Prozedur zurückgegeben werden, zu dem Entitätstyp in einem ResultMapping-Element definiert werden:
<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>
Siehe auch
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
Modellieren und Zuordnen (Entity Framework)
How to: Import a Stored Procedure