ResultBinding 項目 (MSL)
當實體類型修改函式已對應至基礎資料庫中的預存程序時,對應規格語言 (MSL) 中的 ResultBinding 項目會將預存程序所傳回的資料行值對應至概念模型中的實體屬性。 例如,當插入預存程序傳回識別資料行的值時,ResultBinding 項目會將傳回值對應至概念模型中的實體類型屬性。
ResultBinding 項目可以是 InsertFunction 項目或 UpdateFunction 項目的子項目。
ResultBinding 項目不能有任何子項目。
適用屬性
下表描述可套用至 ResultBinding 項目的屬性。
屬性名稱 | 必要 | 值 |
---|---|---|
Name |
是 |
概念模型中要對應之實體屬性的名稱。 |
ColumnName |
是 |
要對應的資料行名稱。 |
範例
下列範例是以 School 模型為基礎,顯示用來將 Person 實體類型的插入函式對應至 InsertPerson 預存程序的 InsertFunction 項目 (InsertPerson 預存程序已顯示如下而且已宣告於儲存體模型中)。 ResultBinding 項目是用來將預存程序所傳回的資料行值 (NewPersonID) 對應至實體類型屬性 (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>
下列 Transact-SQL 描述 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;