【发布时间】:2019-06-04 16:50:18
【问题描述】:
是否有从查询中获取第一个文档的有效方法?通常这将使用FirstOrDefault() 与 LINQ 收集或在 SQL 中使用 TOP。
假设集合看起来像这样:
{
name: "John",
position: 3
},
{
name: "Mary",
position: 1
},
{
name: "Peter",
position: 2
}
我只需要检索具有最高价值位置的单个文档。 IE。本例中的“Mary”文档。
使用 C# SDK,我必须执行以下操作:
Client.CreateDocumentQuery<T>(Collection.DocumentsLink)
.Where(somethingOtherCriteria);
.OrderByDescending(x => x.Position)
.AsEnumerable()
.FirstOrDefault());
这将检索集合中的所有文档(在应用相关过滤器之后),然后从列表中获取第一个。这仍然会通过网络传输数千份不相关的文件。
是不是不能在服务器上执行FirstOrDefault()?
【问题讨论】:
标签: azure-cosmosdb