ResultBinding (Elemento) (MSL)
El elemento ResultBinding del lenguaje de especificación de asignaciones (MSL) asigna valores de columnas devueltos por procedimientos almacenados a propiedades de entidad del modelo conceptual cuando las funciones de modificación de tipo de entidad están asignadas a procedimientos almacenados de la base de datos subyacente. Por ejemplo, cuando un procedimiento almacenado de inserción devuelve el valor de una columna de identidad, el elemento ResultBinding asigna el valor devuelto a una propiedad de tipo de entidad del modelo conceptual.
El elemento ResultBinding puede ser un elemento secundario del elemento InsertFunction o el elemento UpdateFunction.
El elemento ResultBinding no puede tener ningún elemento secundario.
Atributos aplicables
En la tabla siguiente se describen los atributos aplicables al elemento ResultBinding:
Nombre de atributo | Es necesario | Valor |
---|---|---|
Name |
Sí |
El nombre de la propiedad de entidad del modelo conceptual que se está asignando. |
ColumnName |
Sí |
El nombre de la columna que se está asignando. |
Ejemplo
El siguiente ejemplo se basa en el modelo School y muestra un elemento InsertFunction que se utiliza para asignar la función de inserción del tipo de entidad Person al procedimiento almacenado InsertPerson. (El procedimiento almacenado InsertPerson se muestra abajo y se declara en el modelo de almacenamiento.) Se utiliza un elemento ResultBinding para asignar un valor de columna devuelto por el procedimiento almacenado (NewPersonID) a una propiedad de tipo de entidad (PersonID).
<EntityTypeMapping TypeName="SchoolModel.Person">
<ModificationFunctionMapping>
<InsertFunction FunctionName="SchoolModel.Store.InsertPerson">
<ScalarProperty Name="EnrollmentDate"
ParameterName="EnrollmentDate" />
<ScalarProperty Name="HireDate" ParameterName="HireDate" />
<ScalarProperty Name="FirstName" ParameterName="FirstName" />
<ScalarProperty Name="LastName" ParameterName="LastName" />
<ResultBinding Name="PersonID" ColumnName="NewPersonID" />
</InsertFunction>
<UpdateFunction FunctionName="SchoolModel.Store.UpdatePerson">
<ScalarProperty Name="EnrollmentDate"
ParameterName="EnrollmentDate"
Version="Current" />
<ScalarProperty Name="HireDate" ParameterName="HireDate"
Version="Current" />
<ScalarProperty Name="FirstName" ParameterName="FirstName"
Version="Current" />
<ScalarProperty Name="LastName" ParameterName="LastName"
Version="Current" />
<ScalarProperty Name="PersonID" ParameterName="PersonID"
Version="Current" />
</UpdateFunction>
<DeleteFunction FunctionName="SchoolModel.Store.DeletePerson">
<ScalarProperty Name="PersonID" ParameterName="PersonID" />
</DeleteFunction>
</ModificationFunctionMapping>
</EntityTypeMapping>
El siguiente código Transact-SQL describe el procedimiento almacenado InsertPerson:
CREATE PROCEDURE [dbo].[InsertPerson]
@LastName nvarchar(50),
@FirstName nvarchar(50),
@HireDate datetime,
@EnrollmentDate datetime
AS
INSERT INTO dbo.Person (LastName,
FirstName,
HireDate,
EnrollmentDate)
VALUES (@LastName,
@FirstName,
@HireDate,
@EnrollmentDate);
SELECT SCOPE_IDENTITY() as NewPersonID;
Vea también
Otros recursos
Especificaciones CSDL, SSDL y MSL
Modelado y asignación (Entity Framework)