Function 項目 (SSDL)
存放結構定義語言 (SSDL) 內的 Function 項目會指定基礎資料庫中已存在的預存程序。
Function 項目可以擁有下列子項目 (依列出的順序):
Documentation (零或一個)
CommandText (零或一個)
Parameter (零或多個)
Annotation 項目 (零或多個)
儲存體模型中所指定的預存程序可以匯入應用程式的概念模型中。 如需詳細資訊,請參閱 How to: Import a Stored Procedure。 Function 項目也可以用來定義儲存體模型中的自訂函式。 如需詳細資訊,請參閱 How to: Define Custom Functions in the Storage Model。
適用屬性
下表描述可套用至 Function 項目的屬性。
注意: |
---|
有些屬性 (這裡未列出者) 可以使用 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 如果某個函式的輸出可以做為另一個函式的輸入,則這兩個函式就是可撰寫的。
注意: |
---|
可以將任何數量的 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)