我正在嘗試使用 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)
不幸的是它回來了
子查詢中不支持 OFFSET LIMIT' 子句。
有什么辦法可以讓我作業嗎?我想我可以在 CosmosDB 上進行分頁并在服務器端對記憶體進行排序,但這不是理想的情況......
提前致謝!
uj5u.com熱心網友回復:
你能試試這個嗎?包括ORDER BY之前的skip.
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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/473365.html
下一篇:將使用哪個版本的.NET類?
