2015-03-26 3 views
0

Я использую клиентскую библиотеку Microsoft Azure DocumentDB для управления документом db. Однако в последнее время все мои пользовательские функции перестали работать. Для проверки работоспособности я попробовал эту простую, определенную пользователем функцию,UserDefined Функция больше не работает в документе db

можно создать определенную пользователем функцию с помощью

var udf = new UserDefinedFunction 
      { 
       Id = "Tax", 
       Body = "function(value) { return value * .2;} ", 
      }; 
Microsoft.Azure.Documents.Client.DocumentClient.CreateUserDefinedFunctionAsync(colSelfLink, udf) 

Однако, когда я использую ОДС в моем запросе SQL я получаю ошибку говоря

Налог не является признанной встроенной функцией.

ответ

3

В настоящее время для DocumentDB требуется «udf» с учетом регистра. префикс для пользовательских функций в запросах - например, «SELECT udf.TAX (d.SalesAmount) FROM docs d». Более старый синтаксис устарел. Это было сделано по нескольким причинам

  • Для добавления поддержки встроенных функций и четко неоднозначности их от пользовательских функций
  • Для подобного опыта программирования с ANSI-SQL, который требует имени схемы, например, «ДБО.» для пользовательских функций
+0

Спасибо человеку. Я искал его с какого-то времени. –

Смежные вопросы