Function 元素 (SSDL)

以存储架构定义语言 (SSDL) 表示的 Function 元素指定基础数据库中存在的某个存储过程。

Function 元素可以具有以下子元素(按所列顺序):

可以将在存储模型中指定的存储过程导入应用程序的概念模型。 有关更多信息,请参见How to: Import a Stored ProcedureFunction 元素还可用于在存储模型中定义自定义函数。 有关更多信息,请参见How to: Define Custom Functions in the Storage Model

适用的特性

下表介绍可应用于 Function 元素的特性。

Bb738614.note(zh-cn,VS.100).gif注意:
某些特性(未在此处列出)可能使用 store 别名(它是 https://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator 命名空间的别名)进行了限定。在更新模型时,模型更新向导会使用这些特性。

特性名称 是否必需

Name

存储过程的名称。

ReturnType

存储过程的返回类型。

Aggregate

如果存储过程返回一个聚合值,则值为 True;否则,值为 False

BuiltIn

如果该函数为内置1函数,则值为 True;否则,值为 False

StoreFunctionName

存储过程的名称。

NiladicFunction

如果该函数为 niladic2 函数,则值为 True;否则,值为 False

IsComposable

如果该函数为可组合3函数,则值为 True;否则,值为 False

ParameterTypeSemantics

定义用于解析函数重载的类型语义的枚举。 该枚举是在提供程序清单中根据函数定义来定义的。 默认值为 AllowImplicitConversion

Schema

在其中定义存储过程的架构的名称。

1 内置函数为在数据库中定义的函数。 有关在存储模型中定义的函数的信息,请参见 CommandText 元素 (SSDL)

2 niladic 函数是不接受任何参数,且在调用时不需要使用括号的函数。

3 如果一个函数的输出可以作为另一个函数的输入,则这两个函数是可组合的。

Bb738614.note(zh-cn,VS.100).gif注意:
可以将任何数量的批注特性(自定义 XML 特性)应用于 Function 元素。然而,自定义特性可能不属于为 SSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。

示例

下面的示例演示了一个对应于 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>

另请参见

概念

实体框架概述
SSDL 规范
CommandText 元素 (SSDL)

其他资源

CSDL、SSDL 和 MSL 规范
ADO.NET Entity Data Model Tools