模型定义函数(实体数据模型)

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

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

  • 函数名。 (必需)

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

    Ee382833.note(zh-cn,VS.100).gif注意:
    如果未指定返回类型,则返回值为 void。

  • 参数信息。 (可选)

  • 定义函数主体的 Entity 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>

另请参见

概念

实体数据模型关键概念
实体数据模型
实体数据模型:基元数据类型