Существует ли тип данных или ограничение длины для полей 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;
}
Спасибо за проверку. Это я был виноват. Я забыл изменить тип данных поля ID из GUID в строку в одном из моих объектов. У меня не было видимой ошибки, поэтому я не знал, в чем проблема, но дальнейшее исследование показало, что это тип данных для поля ID. Еще раз спасибо. – Sam