Function Element (SSDL)
The Function element in store schema definition language (SSDL) specifies a stored procedure that exists in the underlying database.
The Function element can have the following child elements (in the order listed):
Documentation (zero or one)
CommandText (zero or one)
Parameter (zero or more)
Annotation elements (zero or more)
Stored procedures that are specified in the storage model can be imported into the conceptual model of an application. For more information, see How to: Import a Stored Procedure. The Function element can also be used to define custom functions in the storage model. For more information see How to: Define Custom Functions in the Storage Model.
Applicable Attributes
The following table describes the attributes that can be applied to the Function element.
Note
Some attributes (not listed here) may be qualified with the store alias, which is the alias for the https://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator namespace. These attributes are used by the Update Model Wizard when updating a model.
Attribute Name | Is Required | Value |
---|---|---|
Name |
Yes |
The name of the stored procedure. |
ReturnType |
No |
The return type of the stored procedure. |
Aggregate |
No |
True if the stored procedure returns an aggregate value; otherwise False. |
BuiltIn |
No |
True if the function is a built-in1 function; otherwise False. |
StoreFunctionName |
No |
The name of the stored procedure. |
NiladicFunction |
No |
True if the function is a niladic2 function; False otherwise. |
IsComposable |
No |
True if the function is a composable3 function; False otherwise. |
ParameterTypeSemantics |
No |
The enumeration that defines the type semantics used to resolve function overloads. The enumeration is defined in the provider manifest per function definition. The default value is AllowImplicitConversion. |
Schema |
No |
The name of the schema in which the stored procedure is defined. |
1 A built-in function is a function that is defined in the database. For information about functions that are defined in the storage model, see CommandText Element (SSDL).
2 A niladic function is a function that accepts no parameters and, when called, does not require parentheses.
3 Two functions are composable if the output of one function can be the input for the other function.
Note
Any number of annotation attributes (custom XML attributes) may be applied to the Function element. However, custom attributes may not belong to any XML namespace that is reserved for SSDL. The fully-qualified names for any two custom attributes cannot be the same.
Example
The following example shows a Function element that corresponds to the UpdateOrderQuantity stored procedure. The stored procedure accepts two parameters and does not return a value.
<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>
See Also
Concepts
Entity Framework Overview
SSDL Specification
CommandText Element (SSDL)
Other Resources
CSDL, SSDL, and MSL Specifications
ADO.NET Entity Data Model Tools