共用方式為


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;

另請參閱

其他資源

CSDL、SSDL 和 MSL 規格
模型及對應 (Entity Framework)