4

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

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

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

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

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

如何修改我的代码以通过 facebookUsername 字段查询?

4

1 回答 1

5
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();

应该管用。

于 2014-11-20T01:36:32.373 回答