gpt4 book ai didi

c# - 查询表达式无效 cosmosdb

转载 作者:行者123 更新时间:2023-12-03 05:04:14 26 4
gpt4 key购买 nike

我正在尝试使用 cosmosdb 中的 groupby 进行以下查询,

var result = client.CreateDocumentQuery<Login>(documentUri)
.Where(i => i.logevent == "Success" && i._ts > 1517405472 && i._ts <= 1518010272)
.GroupBy(t => t._ts);

它抛出以下错误

DocumentQueryException: Query expression is invalid, expression https://documents.azure.com/dbs/colls/test.Where(i => (((i.logevent == "Success") AndAlso (i._ts > 1517405472)) AndAlso (i._ts <= 1518010272))).GroupBy(t => t._ts) is unsupported. Supported expressions are 'Queryable.Where', 'Queryable.Select' & 'Queryable.SelectMany

最佳答案

Cosmos DB LINQ 提供程序当前不支持 GroupBy。您必须使用 AsEnumerable 实现 where 子句的结果,然后使用 LINQ 对对象执行 Group By。

var result = client.CreateDocumentQuery<Login>(documentUri)
.Where(i => i.logevent == "Success" && i._ts > 1517405472 && i._ts <= 1518010272)
.AsEnumerable()
.GroupBy(t => t._ts);

注意:您应该将尽可能多的查询谓词下推到服务器。换句话说,Where 子句应该位于 AsEnumerable 的前面。

关于c# - 查询表达式无效 cosmosdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48676519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com