DefiningExpression 元素 (CSDL)
以概念架构定义语言 (CSDL) 表示的 DefiningExpression 元素包含一个用于在概念模型中定义函数的 Entity SQL 表达式。 有关更多信息,请参见Function 元素 (CSDL)和Entity SQL 语言。
注意: |
---|
为了进行验证,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)