我正在try 使用LINQ在数据库端进行分页和排序.据我所知,Cosmos db不支持子查询,这意味着我可以进行分页或排序.

我的问题是,我想有什么办法可以超越这一点呢?

这就是我的代码:

var query = documentContainer.GetItemLinqQueryable<CosmosEntity>(true)
                .Where(p => p.PartitionKey == id)
                .Skip(searchRequest.Qualifiers.RecordsPerPage * (searchRequest.Qualifiers.CurrentPage - 1))
                .Take(searchRequest.Qualifiers.RecordsPerPage)
                .OrderBy(x => x.DocumentType)

不幸的是,它回来了

子查询中不支持"偏移限制"子句.

我有什么办法可以做到吗?我想我可以在CosmosDB上分页,并在服务器端的内存中排序,但这不是理想的情况...

提前谢谢!

推荐答案

你能试试这个吗?包括101之前的100.

var query = documentContainer.GetItemLinqQueryable<CosmosEntity>(true)
                .Where(p => p.PartitionKey == id)
                .OrderBy(x => x.DocumentType)
                .Skip(searchRequest.Qualifiers.RecordsPerPage * (searchRequest.Qualifiers.CurrentPage - 1))
                .Take(searchRequest.Qualifiers.RecordsPerPage)
            

Csharp相关问答推荐

.NET通过版本自动增量设置包版本

try 还原包时出错:Dapper已经为System.Data.SQLClient定义了依赖项''''

REST API端点中异步后台代码执行的类型

如何使datagridview的列具有响应性,以便不是所有列都更改其宽度

方法从数据表中只 Select 一个条件?

C#-VS2022:全局使用和保存时的代码清理

每个http请求需要60秒,为什么?

CA1508:';NULL=>;TRUE;始终为';TRUE';.移除或重构条件(S)以避免死代码

将类移动到新命名空间后更新RavenDB Raven-Clr-Type

是否有必要在ASP.NET Core中注册可传递依赖项?

HelperText属性不支持复杂内容(混合C#和标记)

try 链接被委派者(多播委托)时,无法将获取运算符应用于类型为';方法组&39;和方法组';的操作数

如何更改新创建的实例的变量?

.NET 8在appsettings.json中核心使用词典URI、URI&>

在集成测试中可以在模拟InMemory数据库中设定数据种子

{ or ; expected error如何解决此问题

C# Winforms:从对象树到TreeView的递归转换重复条目

C#命名管道-编码错误?

为什么我的属性即使没有显式地设置任何[必需]属性,也会显示验证?

Avalonia MVVM数据模板