在 Azure DocumentDb 中,如何使用 LINQ 编写 "IN" 语句到 SQL

In Azure DocumentDb, how do I write an "IN" statement using LINQ to SQL

我想通过 DocumentDb 中的 ID 检索大约 50 - 100 个文档。我在 List<string> 中有 ID 列表。如何使用 LINQ to SQL 检索这些文档。我不想将实际的 SQL 查询写成字符串,如:

IQueryable<Family> results = client.CreateDocumentQuery<Family>(collectionUri, "SELECT * FROM family WHERE State IN ('TX', 'NY')", DefaultOptions);

我希望能够使用 lambda 表达式来创建查询,因为我不想将字段名称硬编码为字符串。

您似乎不想生成并传递查询字符串 SELECT * FROM family WHERE State IN ('TX', 'NY') 来查询文档,您可以尝试以下代码。

List<string> ids = new List<string>() { "TX", "NY" };

client.CreateDocumentQuery<Family>(collectionUri).Where(d => ids.Contains(d.id));