2017-01-31 3 views
0

Существует ли тип данных или ограничение длины для полей DocumentDb Id?Поле DocumentDb Id

Я использовал значения GUID в поле ID в моей базе данных DocumentDb, и все работает нормально.

Теперь мне нужно внести изменения в поле ID и добавить префикс к идентификаторам. Это еще не работает на производстве. Я просто тестирую его локально с помощью эмулятора DocumentDb.

Просто, чтобы привести пример, мой идентификатор был типичным GUID следующим образом: 5e035f00-e1e3-430d-ae45-85f2815731f7. Теперь это будет примерно так: 20-5e035f00-e1e3-430d-ae45-85f2815731f7. В основном, я добавляю префикс на 2-4 цифры, а затем дефис в начало идентификатора.

Похоже, что я могу создать документы в порядке, но когда дело доходит до их запроса, я получаю сообщение об ошибке в своем коде. Я не внес никаких изменений в код, который запускает запросы к базе данных.

Вот код запроса, который был запущен все вместе:

public async static Task<IEnumerable<T>> QueryAsync<T>(this IQueryable<T> query) 
    { 
     var docQuery = query.AsDocumentQuery(); 
     var batches = new List<IEnumerable<T>>(); 

     do 
     { 
     var batch = await docQuery.ExecuteNextAsync<T>(); // My code is blowing up here 
     batches.Add(batch); 
     } 
     while (docQuery.HasMoreResults); 

     var docs = batches.SelectMany(b => b); 

     return docs; 
} 

ответ

1

Там нет предела для практической цели. Можете ли вы разместить столбец для своего «взрыва»?

+0

Спасибо за проверку. Это я был виноват. Я забыл изменить тип данных поля ID из GUID в строку в одном из моих объектов. У меня не было видимой ошибки, поэтому я не знал, в чем проблема, но дальнейшее исследование показало, что это тип данных для поля ID. Еще раз спасибо. – Sam

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