Согласно документации поддерживается группа , начиная с. NET SDK 3.3. Я написал тестовый код в LINQPad для запроса моего локального Azure Cosmos Emulator с помощью LINQ, но он выдает следующее сообщение об ошибке:
Method 'GroupBy' is not supported., Windows/10.0.18362 cosmos-netstandard-sdk/3.4.2
Я использую пакет NuGet Microsoft.Azure.Cosmos
версия 3.6.0
.
Мой запрос выглядит так:
var query = container.GetItemLinqQueryable<MyObject>()
.GroupBy(a => a.Id)
.ToFeedIterator();
( Обратите внимание, я понимаю, что запрос бессмысленный, это просто пример)
Выполнение аналогичного SQL в веб-интерфейсе работает просто отлично:
SELECT
o.id
FROM
MyObjects o
GROUP BY
o.id
Если я выполню SQL через C# SDK, который также, кажется, работает нормально:
var queryDef = new QueryDefinition("SELECT i.id FROM items i GROUP BY i.id");
var query = container.GetItemQueryIterator<ToDoItem>(queryDef);
var items = new List<ToDoItem>();
while (query.HasMoreResults)
{
items.AddRange(await query.ReadNextAsync());
}
items.Dump();