如何使用linq

时间:2017-04-04 19:49:18

标签: linq azure-cosmosdb

let problemDocument = documentClient.CreateDocumentQuery<ProblemDatabaseModel>("")

problemDocument

似乎无法正常工作

(problemDocument.Select(fun problem -> problem))

似乎无法正常工作

(problemDocument.Where(fun problem -> problem.id = problem.id))

似乎也不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果要查询文档数据库中的所有文档,请尝试以下代码:

documentClient.CreateDocumentQuery<ProblemDatabaseModel>("").ToList();

请注意,我们可以在documentDB中存储不同的json实体,如果您的数据模型中没有document属性,它将给出一个默认值。我有一个简单的测试:

数据模型:

public class Cred
{
    [JsonProperty(PropertyName = "id")]
    public string ID { get; set; }
    [JsonProperty(PropertyName = "title")]
    public string Title { get; set; }
    [JsonProperty(PropertyName = "credits")]
    public int Credits { get; set; }
    [JsonProperty(PropertyName = "authordetails")]
    public AuthDetail AuthInfo { get; set; }
}

如果documentDB中的json数据是:

{
  "id": "CDC103",
  "title": "Fundamentals of database design",

  "authordetails": {
    "Name": "dave",
    "Age": 33
  },
  "custom":"test"
}

client.CreateDocumentQuery<Cred>(UriFactory.CreateDocumentCollectionUri("jambordb", "jamborcols")).ToList();

结果如下:

enter image description here

从屏幕截图中我们知道,属性“custom”不会包含在我们的数据模型中。并且学分将给出默认值0。