Élément ResultBinding (MSL)
L'élément ResultBinding en langage MSL (Mapping Specification Language) mappe des valeurs de colonne retournées par les procédures stockées aux propriétés de l'entité dans le modèle conceptuel lorsque les fonctions de modification du type d'entité sont mappées aux procédures stockées dans la base de données sous-jacente. Par exemple, lorsque la valeur d'une colonne d'identité est retournée par une procédure stockée d'insertion, l'élément ResultBinding mappe la valeur renvoyée à une propriété de type d'entité dans le modèle conceptuel.
L'élément ResultBinding peut être un enfant de l'élément InsertFunction ou de l'élément UpdateFunction.
L'élément ResultBinding ne peut pas avoir d'éléments enfants.
Attributs applicables
Le tableau ci-dessous décrit les attributs applicables à l'élément ResultBinding :
Nom d'attribut | Requis | Valeur |
---|---|---|
Name |
Oui |
Nom de la propriété d'entité dans le modèle conceptuel mappé. |
ColumnName |
Oui |
Nom de la colonne mappée. |
Exemple
L'exemple suivant est basé sur le modèle School et présente un élément InsertFunction utilisé pour mapper la fonction d'insertion du type d'entité Person à la procédure stockée InsertPerson. (La procédure stockée InsertPerson est décrite ci-dessous et est déclarée dans le modèle de stockage.) Un élément ResultBinding est utilisé pour mapper une valeur de colonne retournée par la procédure stockée (NewPersonID) à une propriété de type d'entité (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>
L'instruction Transact-SQL suivante décrit la procédure stockée 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;
Voir aussi
Autres ressources
Spécifications CSDL, SSDL et MSL
Modélisation et mappage (Entity Framework)