DocumentDb 中的分页和 TOP vs TAKE vs MAXITEMS
Paging and TOP vs TAKE vs MAXITEMS in DocumentDb
正在尝试实现分页,但我不确定我是否理解 TOP、TAKE 和 MAXITEMS 之间的区别。
我知道他们被设置在不同的地方,但他们似乎在做同样的事情。
据我所知,TOP vs TAKE 看起来像 SQL vs LINQ。但是,这与 MaxItems 有何不同?
TIA
比尔
MaxItems 是指 MaxItemCount 吗?
如果是这样,它是在 FeedOptions 中设置的,它控制文档查询返回的结果批次的大小。请参阅以下摘自 https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.documents.client.feedoptions.maxitemcount.aspx#P:Microsoft.Azure.Documents.Client.FeedOptions.MaxItemCount:
的示例
// Fetch query results 10 at a time.
var queryable = client.CreateDocumentQuery<Book>(collectionLink, new FeedOptions { MaxItemCount = 10 });
while (queryable.HasResults)
{
FeedResponse<Book> response = await queryable.ExecuteNext<Book>();
}
在上面的示例中,您一次迭代查询 10 个结果。
为了进一步解释差异,使用 TOP 50 定义查询是有意义的,但 MaxItemCount 为 10。这意味着您将获得数据库中的前 50 个结果,但一次获得 10 个项目的结果.
正在尝试实现分页,但我不确定我是否理解 TOP、TAKE 和 MAXITEMS 之间的区别。
我知道他们被设置在不同的地方,但他们似乎在做同样的事情。
据我所知,TOP vs TAKE 看起来像 SQL vs LINQ。但是,这与 MaxItems 有何不同?
TIA
比尔
MaxItems 是指 MaxItemCount 吗?
如果是这样,它是在 FeedOptions 中设置的,它控制文档查询返回的结果批次的大小。请参阅以下摘自 https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.documents.client.feedoptions.maxitemcount.aspx#P:Microsoft.Azure.Documents.Client.FeedOptions.MaxItemCount:
的示例// Fetch query results 10 at a time.
var queryable = client.CreateDocumentQuery<Book>(collectionLink, new FeedOptions { MaxItemCount = 10 });
while (queryable.HasResults)
{
FeedResponse<Book> response = await queryable.ExecuteNext<Book>();
}
在上面的示例中,您一次迭代查询 10 个结果。
为了进一步解释差异,使用 TOP 50 定义查询是有意义的,但 MaxItemCount 为 10。这意味着您将获得数据库中的前 50 个结果,但一次获得 10 个项目的结果.