首页 > 解决方案 > 查询以从 Cosmos DB 获取详细信息

问题描述

我需要从数组(例如:)中获取人员列表String[] getPersons作为输入。我不知道如何使用 LINQ 表达式从 Cosmos DB 比较和获取数据。我尝试过GetItemLinqQueryable,但我不知道它是否是正确的使用方法。

var db = Client.GetDatabase(databaseId);

var container = db.GetContainer(containerId);

var q = container.GetItemLinqQueryable<Person>();

var iterator = q.Where(p => p.Name == getPersons[0]).ToFeedIterator();

var results = await iterator.ReadNextAsync();

如果我使用上面的那个,我只能得到第一人称的结果,但我也需要得到数组中的其他人。

标签: azureazure-cosmosdbazure-cosmosdb-sqlapi

解决方案


您可以使用包含。它等效于 Cosmos DB 数组函数中的ARRAY_CONTAINS 。

你可以试试这段代码:

var iterator = q.Where(p => getPersons.Contains(p.Name)).ToFeedIterator();

推荐阅读