规范函数 (Entity SQL)

本节讨论所有数据提供程序支持的并可由所有查询技术使用的规范函数。 规范函数不能由提供程序扩展。

这些规范函数将转换为提供程序的相应数据源功能。 这样,就可以用一种在不同数据源间通用的形式表示函数调用。

因为这些规范函数独立于数据源,所以会按概念模型中的类型来定义规范函数的参数和返回类型。 但某些数据源可能不支持概念模型中的所有类型。

当在 Entity SQL 查询中使用规范函数时,将在数据源中调用适当的函数。

所有规范函数都同时显式指定 null 输入行为和错误条件。 存储提供程序应遵循此行为,但 实体框架 不强制执行此行为。

对于 LINQ 方案,对 实体框架 所执行的查询涉及将 CLR 方法映射到基础数据源中的方法。 CLR 方法映射到规范函数,这样,无论数据源如何,特定的方法集都会正确映射。

规范函数命名空间

规范函数的命名空间是 System.Data.Metadata.EdmSystem.Data.Metadata.Edm 命名空间自动包含在所有查询中。 但如果导入的另一个命名空间包含与规范函数(在 System.Data.Metadata.Edm 命名空间中)同名的函数,则必须指定命名空间。

本节内容

另请参见

概念

Entity SQL 概述
Entity SQL 参考
概念模型规范函数到 SQL Server 函数映射
用户定义函数 (Entity SQL)