模型定义函数

模型定义函数是在概念模型中定义的函数。 模型定义函数的主体用实体 SQL 表达,这可以独立于数据源中支持的规则或语言来表达函数。

模型定义函数的定义包含以下信息:

  • 函数名称。 (必需)

  • 返回值的类型。 (可选)

    备注

    如果未指定返回类型,则返回值为 void。

  • 参数信息。 (可选)

  • 定义函数主体的实体 SQL 表达式。

请注意,模型定义函数不支持输出参数。 这一限制可以保证无法对模型定义函数进行编写。

示例

下图显示了一个具有三个实体类型的概念模型:BookPublisherAuthor

Screenshot that shows a model with published date.

ADO.NET 实体框架使用一种称为概念架构定义语言 (CSDL) 的域特定语言 (DSL) 来定义概念模型。 下面的 CSDL 在概念模型中定义了一个函数,它返回自某个 Book 实例(如上图所示)出版以来的年数。

<Function Name="GetYearsInPrint" ReturnType="Edm.Int32" >
      <Parameter Name="book" Type="BooksModel.Book" />
      <DefiningExpression>
        Year(CurrentDateTime()) - Year(cast(book.PublishedDate as DateTime))
      </DefiningExpression>
    </Function>

请参阅