模型定义函数

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

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

  • 函数名称。 (必需)

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

    注释

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

  • 参数信息。 (可选)

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

请注意,模型定义的函数不支持输出参数。 此限制已到位,以便可以组合模型定义的函数。

示例:

下图显示了一个概念模型,其中包含三种实体类型:BookPublisherAuthor

显示具有发布日期的模型的屏幕截图。

ADO.NET Entity Framework 使用称为概念架构定义语言(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>

另请参阅