FunctionImport 項目 (CSDL)

概念結構定義語言 (CSDL) 中之 FunctionImport 項目所代表的函式,是在資料來源中定義,但可以透過概念模型提供給物件使用。 例如,儲存體模型中的 Function 項目 可以用來代表資料庫中的預存程序。 概念模型中的 FunctionImport 項目代表 Entity Framework 應用程式中對應的函式,並且透過使用 FunctionImportMapping 項目,對應至儲存體模型函式。 在應用程式中呼叫函式時,對應的預存程序會在資料庫中執行。

依據 FunctionImport 項目,可以針對 Entity Framework 應用程式產生 Common Language Runtime (CLR) 方法。 如需詳細資訊,請參閱產生程式碼概觀 (實體資料模型設計工具)HOW TO:使用 EdmGen.exe 產生物件層程式碼

FunctionImport 項目可以擁有下列子項目 (依列出的順序):

應針對函式接受的每個參數定義一個 Parameter 項目。

適用屬性

以下資料表描述的屬性可套用至 FunctionImport 項目。

屬性名稱 必要

Name

匯入函式的名稱。

ReturnType

函式傳回的型別。 如果函式不會傳回值,請不要使用這個屬性。 否則,值必須是 EDMSimpleType、實體類型、複雜型別,或是模型範圍內之實體類型的集合或複雜型別。

Cc716710.note(zh-tw,VS.100).gif注意:
在概念模型中,針對目標為 .NET Framework 3.5 SP1 版的應用程式,傳回類型必須是 EDMSimpleTypes 或實體類型的集合。

EntitySet

如果函式傳回實體類型的集合,EntitySet 的值必須是集合所屬的實體集。 否則,不能使用 EntitySet 屬性。

Cc716710.note(zh-tw,VS.100).gif注意:
任何數量的附註屬性 (自訂 XML 屬性) 都可以套用至 FunctionImport 項目。不過,自訂屬性不可屬於任何 XML 命名空間,這是保留供 CSDL 使用。任兩個自訂屬性的完整名稱不能相同。

範例

下列範例顯示 FunctionImport 項目接受一個參數,然後傳回實體類型的集合:

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

另請參閱

概念

Entity Framework 概觀
CSDL 規格
EntityContainer 項目 (CSDL)

其他資源

CSDL、SSDL 和 MSL 規格
ADO.NET Entity Data Model Tools
How to: Import a Stored Procedure