在IDocumentQuery中的documentdb linq查询中的OrderBy

时间:2017-10-19 19:51:42

标签: c# sql linq azure azure-cosmosdb

我尝试在c#中OrderBy下的IDocumentQuery查询中使用documentdb。 我尝试按距离我的地点检索课程列表,所以:

var userQuery = _client
    .CreateDocumentQuery<Course>(_uriCourseCollection, options)
    .Where(x => x.CourseName.ToLower().Contains(text))
    .OrderBy(x =>x.GeoLocation.Location.Distance(myPoint))
    .AsDocumentQuery();

我收到以下错误消息:

  

&#34;不支持的ORDER BY子句。 ORDER BY项表达式不能   映射到文档路径&#34;

有人可能有解决方案吗? ,或以有效的方式解决查询的解决方法?

1 个答案:

答案 0 :(得分:0)

  

“不支持的ORDER BY子句。无法将ORDER BY项表达式映射到文档路径”

根据Azure官方document,目前不支持按ST_DISTANCE空间功能排序结果。我也找到了feedback,你可以投票。

  

默认情况下,按顺序查询也需要最大索引精度(-1)。 DataType可以是字符串数字