首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CosmosClient查询CosmosDB并映射到对象

使用CosmosClient查询CosmosDB并映射到对象
EN

Stack Overflow用户
提问于 2020-08-14 00:23:00
回答 1查看 1.1K关注 0票数 0

现在,我有以下代码来查询我的CosmosDB:

代码语言:javascript
复制
var streamIterator = containerLogs.GetItemQueryStreamIterator("SELECT * FROM mycontainer");

while (streamIterator.HasMoreResults)
{
    var results = await streamIterator.ReadNextAsync();
    var stream = results.Content;
    using var reader = new StreamReader(stream);
    string data = await reader.ReadToEndAsync();

    // typeof what..?
    //var dbDocuments = JsonConvert.DeserializeObject<???>(data);
}

变量data将包含以下JSON:

代码语言:javascript
复制
{
    "_rid": "wDhMAJ9xYHE=",
    "Documents": [{
        "id": "c05c4eee-32d4-458a-8ae8-d22dd0f93839",
        "CustomProperty1": "Value 1",
        "CustomProperty2": "Value 2",
        "_rid": "wDhMAJ9xYHECAAAAAAAAAA==",
        "_self": "dbs\/wDhMAA==\/colls\/wDhMAJ9xYHE=\/docs\/wDhMAJ9xYHECAAAAAAAAAA==\/",
        "_etag": "\"00000000-0000-0000-7167-28c107aa01d6\"",
        "_attachments": "attachments\/",
        "_ts": 1597319093
    }],
    "_count": 1
}

Documents部分是我实际的“域”模型。如何轻松地将其映射回我的域模型类的列表?我使用相同的类来写入CosmosDB。

模型看起来像这样

代码语言:javascript
复制
public class MyModel
{
    [JsonProperty(PropertyName = "id")]
    public Guid Id {get;set;}
    public string CustomProperty1 {get;set;}
    public string CustomProperty1 {get;set;}
}

那么,如何查询我的CosmosDB,使其返回此类的列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-14 04:56:37

下面是我发现的一些有用的samples。更简单的情况是使用类型化的GetItemQueryIterator<MyModel>,但也有一个stream deserialization示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63399324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档