从 Cosmos DB 获取详细信息的查询

时间:2021-01-23 11:36:08

标签: azure azure-cosmosdb azure-cosmosdb-sqlapi

我需要从数组(例如: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();

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

1 个答案:

答案 0 :(得分:1)

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

你可以试试这个代码:

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