Tag: azure cosmosdb sqlapi

在CosmosDb上的Linq.Where()中使用Linq.Any()

我试图在.Where()子句中嵌套.Any .Where()来查询本地CosmosDb模拟器。 代码如下所示; 其中allowedStundentIds是变量( List ), a是CosmosDb中的Document .Where(a => permittedStudentIds.Any(sId => a.Students.Any(s => s.Id == sId))); 当我执行查询时,我收到错误: 方法’Any’不受支持。 ActivityId:800000a8-0002-d600-b63f-84710c7967bb,documentdb-dotnet-sdk / 1.22.0主机/ 64位MicrosoftWindowsNT / 10.0.16299.0 我尝试了多种变体来获得等效表达,但无济于事。 唯一有效的是使用.Contains()并对学生索引进行硬编码; 这是不可行的,因为可能不知道学生人数。 .Where(a => permittedStudentIds.Contains(a.Students[0].Id)); 我确实理解在CosmosDb的Sql API上尚不支持某些lambda扩展,但有没有解决方法呢?