【问题标题】:Best way to retrive the items using Cosmos Client使用 Cosmosclient 检索项目的最佳方法
【发布时间】:2020-01-14 10:19:46
【问题描述】:

我正在使用 CosmosDB 并尝试使用 Cosmos 客户端从 CosmosDB 中检索项目。 我尝试了以下两种情况并能够从数据库中获取项目。但是,我只想知道哪种方法在 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();

【问题讨论】:

    标签: c# azure azure-cosmosdb azure-cosmosdb-sqlapi


    【解决方案1】:

    GetItemLinqQueryable 不是异步的,您必须使用 ReadNextAsync 来查询数据,这是将 LINQ 与 Cosmos v3 API 一起使用的正确方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      相关资源
      最近更新 更多