ResultMapping (Elemento) (MSL)
El elemento ResultMapping del lenguaje de especificación de asignaciones (MSL) define la asignación entre una importación de función del modelo conceptual y un procedimiento almacenado de la base de datos subyacente cuando se cumple lo siguiente:
La importación de función devuelve un tipo de entidad del modelo conceptual o un tipo complejo.
Los nombres de las columnas devueltas por el procedimiento almacenado no coinciden exactamente con los nombres de las propiedades del tipo de entidad o el tipo complejo.
De forma predeterminada, la asignación entre las columnas devueltas por un procedimiento almacenado y un tipo de entidad o un tipo complejo se basa en los nombres de las propiedades y de las columnas. Si los nombres de las columnas no coinciden exactamente con los nombres de las propiedades, debe utilizar el elemento ResultMapping para definir la asignación. Para obtener un ejemplo de la asignación predeterminada, vea FunctionImportMapping (Elemento) (MSL).
El elemento ResultMapping es un elemento secundario del elemento FunctionImportMapping.
El elemento ResultMapping puede tener los siguientes elementos secundarios:
No hay atributos aplicables al elemento ResultMapping.
Ejemplo
Considere el siguiente procedimiento almacenado:
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
Considere también el siguiente tipo de entidad del modelo conceptual:
<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>
Para crear una importación de función que devuelva instancias del tipo de entidad anterior, la asignación entre las columnas devueltas por el procedimiento almacenado y el tipo de entidad se debe definir en un elemento 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>
Vea también
Otros recursos
Especificaciones CSDL, SSDL y MSL
Modelado y asignación (Entity Framework)
How to: Import a Stored Procedure