模型定义的函数是在概念模型中定义的函数。 模型定义的函数的主体用 实体 SQL 表示,这允许函数独立于数据源中支持的规则或语言来表示。
模型定义的函数的定义包含以下信息:
- 函数名称。 (必需) 
- 返回值的类型。 (可选) - 注释 - 如果未指定返回类型,则返回值为 void。 
- 参数信息。 (可选) 
- 定义函数主体的 实体 SQL 表达式。 
请注意,模型定义的函数不支持输出参数。 此限制已到位,以便可以组合模型定义的函数。
示例:
下图显示了一个概念模型,其中包含三种实体类型:Book和PublisherAuthor。
               
              
            
              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>