Freigeben über


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