gpt4 book ai didi

azure - 宇宙数据库 : Difference between using MaxItemCount and Take() when retrieving N many records

转载 作者:行者123 更新时间:2023-12-02 08:27:46 25 4
gpt4 key购买 nike

我需要从 Cosmos DB 中取出前 N 条记录容器。我注意到我在解决方案的不同地方使用了两种不同的模式,并且想坚持使用一种方法。到目前为止,我认为这两种方法是相同的,但我并不是 100% 有信心。

方法一:

container.GetItemLinqQueryable<T>(true, continuationToken, requestOptions).Where(...).ToList()

通过这种方法,我创建了一个 QueryRequestOptions对象和设置MaxItemCountn配置我要检索的记录数。

方法 2:

container.GetItemLinqQueryable<T>().Where(...).Take(n).ToList()

这使用 Take() LINQ 方法。

  • 这两种方法在性能方面或其他我不知道的方面有什么区别吗?
  • 此外,我面临的另一个挑战是将这些查询转换为异步查询。我注意到ToListAsync()不可用,我想我需要使用提要迭代器,它需要几行样板代码。这里有更简单的方法来使用异步吗?

最佳答案

方法 1 和 2 调用相同的代码。

所有 3 个参数都是可选的。因此,如果您只使用默认值,则无需发送任何参数。

如果您要将参数更改为默认值以外的其他参数,则需要使用方法 1。

建议始终使用ToFeedIterator(),并进行异步执行。

https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.cosmos.container.getitemlinqqueryable?view=azure-dotnet

关于azure - 宇宙数据库 : Difference between using MaxItemCount and Take() when retrieving N many records,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63548331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com