使用 Id 以外的属性查询 DocumentDB

2024-03-03

我想查询 DocumentDB 数据库中的文档。我想使用 LINQ 处理 DocumentDB 查询并想要查询 facebookUsername 字段。

如果我使用下面的代码来查询标准 Id 字段,它工作正常,但是当我尝试使用 facebookUsername 字段执行此操作时,我收到一个编译错误,内容为

“‘Microsoft.Azure.Documents.Document’不包含定义 对于“facebookUsername”且没有扩展方法“facebookUsername” 接受类型的第一个参数 可以找到“Microsoft.Azure.Documents.Document”(您是否缺少 使用指令或程序集引用?)”

这是我当前用于按 Id 查询的代码,它有效。我只想能够查询 facebookUsername 字段。

dynamic doc = (from f in client.CreateDocumentQuery(collection.DocumentsLink)
   where f.Id == myId.ToString()
   select f).AsEnumerable().FirstOrDefault();

如何修改代码以通过 facebookUsername 字段进行查询?


var families = from f in client.CreateDocumentQuery<Family>(colSelfLink)
           where f.Address.City != "NY"
           select f;

将为您提供一个列表,其中 Family: { "Address" : {"City": "NY"} } }

在我的例子中,如果您没有像 Family 这样的对象,那么您就无法使用 Linq 来评估动态对象上的查询。然后您需要使用 SQL 查询语法。

var families = client.CreateDocumentQuery<Family>(colSelfLink. "SELECT * FROM c WHERE field=value").AsEnumnerable();

应该管用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Id 以外的属性查询 DocumentDB 的相关文章

随机推荐