DefiningExpression 元素 (CSDL)

以概念架构定义语言 (CSDL) 表示的 DefiningExpression 元素包含一个用于在概念模型中定义函数的 Entity SQL 表达式。 有关更多信息,请参见Function 元素 (CSDL)Entity SQL 语言

Dd489503.note(zh-cn,VS.100).gif注意:
为了进行验证,DefiningExpression 元素可以包含任意内容。然而,如果 DefiningExpression 元素不包含有效的 Entity SQL ,则实体框架 将在运行时引发异常。

适用的特性

可以将任何数量的批注特性(自定义 XML 特性)应用于 DefiningExpression 元素。 然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。 任何两个自定义特性的完全限定名称都不能相同。

示例

以下示例使用 DefiningExpression 元素定义用于返回某书籍已出版年数的函数。 DefiningExpression 元素的内容用 Entity SQL 编写。

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

另请参见

概念

实体框架概述
CSDL 规范
FunctionImport 元素 (CSDL)

其他资源

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