0

我想从 Cosmos DB 中检索一个项目,必须有比我在这里做的更好的方法。

我尝试过其他命令,但这似乎确实有效。

    public async Task<ToDoItem> GetAsync(string id)
    {
        FeedIterator<ToDoItem> results = container.GetItemQueryIterator<ToDoItem>("select top 1 * from Items i where i.id = '" + id + "'");

        FeedResponse<ToDoItem> item = await results.ReadNextAsync();

        return item.Resource.FirstOrDefault();
    }

我希望能够通过在服务器上执行的一行来做到这一点,并且不会强迫我查看一组项目。

4

2 回答 2

1

这是官方文档中的一个示例query

 using (ResponseMessage responseMessage = await container.ReadItemStreamAsync(
                partitionKey: new PartitionKey("Account1"),
                id: "SalesOrder1"))
于 2019-07-29T01:54:38.683 回答
0

SDK 仍在开发中 - 这可能会有所帮助:

using (ResponseMessage response = await _container.ReadItemStreamAsync(id: pageId, partitionKey: partitionKey))
{
    if (!response.IsSuccessStatusCode)
    {
        //Handle and log exception
    }

    await using (Stream stream = response.Content)
    {
        using (var streamReader = new StreamReader(stream))
        {
            string content = streamReader.ReadToEnd();
        }
    }
}
于 2020-06-18T05:31:23.087 回答