共用方式為


FunctionImportMapping 項目 (MSL)

對應規格語言 (MSL) 中的 FunctionImportMapping 項目會定義概念模型中之函式匯入與基礎資料庫中之預存程序或函式間的對應。函式匯入必須在概念模型中宣告,而預存程序則必須在儲存體模型中宣告。如需詳細資訊,請見FunctionImport 項目 (CSDL)Function 項目 (SSDL)

注意

根據預設,如果函式匯入傳回概念模型實體類型或複雜型別,則基礎預存程序所傳回的資料行名稱必須與概念模型類型上的屬性名稱完全相符。如果資料行名稱未完全符合屬性名稱,則必須在 ResultMapping 項目中定義對應。

FunctionImportMapping 項目可以擁有下列子項目:

適用屬性

下表描述可套用至 FunctionImportMapping 項目的屬性。

屬性名稱

必要

FunctionImportName

概念模型中要對應的函式匯入名稱。

FunctionName

儲存體模型中要對應的函式之命名空間限定名稱。

範例

下列範例是以 School 模型為基礎。請考量儲存體模型中的下列函式:

<Function Name="GetStudentGrades" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
  <Parameter Name="StudentID" Type="int" Mode="In" />
</Function>
<Function Name="GetStudentGrades" Aggregate="false" 
          BuiltIn="false" NiladicFunction="false" 
          IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" 
          Schema="dbo">
  <Parameter Name="StudentID" Type="int" Mode="In" />
</Function>

同時考量概念模型中的這個函式匯入:

<FunctionImport Name="GetStudentGrades" EntitySet="StudentGrades" ReturnType="Collection(SchoolModel.StudentGrade)">
  <Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>
<FunctionImport Name="GetStudentGrades" EntitySet="StudentGrades" 
                ReturnType="Collection(SchoolModel.StudentGrade)">
  <Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>

下列範例顯示的 FunctionImportMapping 項目用來將以上函式與函式匯入相互對應:

<FunctionImportMapping FunctionImportName="GetStudentGrades" FunctionName="SchoolModel.Store.GetStudentGrades" />
<FunctionImportMapping FunctionImportName="GetStudentGrades"
                       FunctionName="SchoolModel.Store.GetStudentGrades" />

請參閱

工作

How to: Import a Stored Procedure

其他資源

CSDL、SSDL 和 MSL 規格

模型化及對應檔案