用户定义函数在 documentdb 中不再起作用

UserDefined Function is not working any more in document db

我正在使用 Microsoft Azure DocumentDB 客户端库来管理文档数据库。 但是最近我所有的用户定义函数都停止工作了。 为了测试功能,我尝试了这个简单的用户定义函数,

我可以使用

创建用户定义的函数
var udf = new UserDefinedFunction
            {
                Id = "Tax",
                Body = "function(value) { return value * .2;} ",
            };
Microsoft.Azure.Documents.Client.DocumentClient.CreateUserDefinedFunctionAsync(colSelfLink, udf)

然而,当我在 sql 查询中使用 udf 时,我收到一条错误消息

Tax is not a recognized built-in function.

DocumentDB 现在需要为查询中的用户定义函数添加区分大小写的 "udf." 前缀 - 例如 "SELECT udf.TAX(d.SalesAmount) FROM docs d"。旧语法已被弃用。这样做有几个原因

  • 添加对内置函数的支持并明确区分它们与用户定义的函数
  • 对于使用 ANSI-SQL 的类似编程体验,需要模式名称,例如,"dbo." 用于用户定义的函数