在 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));
我想通过 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));