Лучший способ получить предметы с помощью Cosmos Client - PullRequest
0 голосов
/ 14 января 2020

Я работаю над CosmosDB и пытаюсь получить элементы из CosmosDB с помощью Cosmos Client. Я попробовал ниже два сценария ios и смог получить предметы из БД. Однако я просто хочу знать, какой подход хорош с точки зрения RU и производительности.

Подход 1

        var container = // Read Container;
        var sqlQueryText = "SELECT * FROM c";

        QueryDefinition queryDefinition = new QueryDefinition(sqlQueryText);
        var queryResultSetIterator = container.GetItemQueryIterator<Family>(queryDefinition);

        List<Family> families = new List<Familyt>();

        while (queryResultSetIterator.HasMoreResults)
        {
            FeedResponse<Family> currentResultSet = await queryResultSetIterator.ReadNextAsync();
            foreach (Family family in currentResultSet)
            {
                families.Add(family);
            }
        }

Подход 2

        var container = // Read Container
        var families = container.GetItemLinqQueryable<Family>(true).ToList();

1 Ответ

0 голосов
/ 14 января 2020

GetItemLinqQueryable не является асинхронным c, вам придется использовать ReadNextAsync для запроса данных и это правильный способ использования LINQ с Cosmos v3 API

...