Function 項目 (SSDL)

存放結構定義語言 (SSDL) 內的 Function 項目會指定基礎資料庫中已存在的預存程序。

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

儲存體模型中所指定的預存程序可以匯入應用程式的概念模型中。 如需詳細資訊,請參閱 How to: Import a Stored ProcedureFunction 項目也可以用來定義儲存體模型中的自訂函式。 如需詳細資訊,請參閱 How to: Define Custom Functions in the Storage Model

適用屬性

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

Bb738614.note(zh-tw,VS.100).gif注意:
有些屬性 (這裡未列出者) 可以使用 store 別名加以限定,這是 https://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator 命名空間的別名。這些屬性是更新模型時,更新模型精靈所使用的。

屬性名稱 必要

Name

預存程序 (Stored Procedure) 的名稱。

ReturnType

預存程序的傳回型別。

Aggregate

如果預存程序傳回彙總值,則為 True;否則為 False

BuiltIn

如果函式是內建1函式,則為 True;否則為 False

StoreFunctionName

預存程序 (Stored Procedure) 的名稱。

NiladicFunction

如果函式是無參數2函式,則為 True;否則為 False

IsComposable

如果函式是可撰寫3的函式,則為 True;否則為 False

ParameterTypeSemantics

列舉型別,可定義用來解決函式多載的型別語意。 列舉型別會定義在每個函式定義的提供者資訊清單。 預設值為 AllowImplicitConversion

Schema

結構描述的名稱,可在其中定義預存程序。

1 內建函式指資料庫中所定義的函式。 如需儲存體模型中所定義之函式的詳細資訊,請參閱 CommandText 項目 (SSDL)

2 無參數函式指呼叫時可接受沒有參數,而且不需要括號的函式。

3 如果某個函式的輸出可以做為另一個函式的輸入,則這兩個函式就是可撰寫的。

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

範例

下列範例顯示對應至 UpdateOrderQuantity 預存程序的 Function 項目。 預存程序可接受兩個參數且不傳回值。

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

另請參閱

概念

Entity Framework 概觀
SSDL 規格
CommandText 項目 (SSDL)

其他資源

CSDL、SSDL 和 MSL 規格
ADO.NET Entity Data Model Tools