使用 C# 查询 CosmosDB 中的文档

Jos*_* K. 5 c# azure azure-cosmosdb

我在 Azure CosmosDB 数据库中存储了多个文档,我想从我的应用程序中查询它们。我的应用程序是用 C# 编写的,我想使用 C# 进行查询。

现在,我可以使用保存查询的 Azure Function 来执行此操作,然后连接到我的程序(我连接到托管 Azure Function 的 Web 应用程序),但我对此解决方案并不完全满意,主要是因为我必须通过门户的 GUI 创建 Azure Function。有没有办法在 Visual Studio 中本地编写 Azure Function 并将其集成到我的解决方案中?或者,我愿意接受任何在 Visual Studio 中从代码(也许是 C# 和 JSON?)查询 CosmosDB 文档的方法。

Lee*_*Liu 2

有没有办法在 Visual Studio 中本地编写 Azure Function 并将其集成到我的解决方案中?

是的,我们可以在 Visual Studio 本地编写 Azure Function 并将其集成到我们的 VS 解决方案中。关于如何做,我们可以参考:Azure Functions Tools for Visual Studio

我愿意接受任何在 Visual Studio 中通过代码(C# 和 JSON?)查询 CosmosDB 文档的方法

这里有一个简单的demo供大家参考:

    public static List<T> QueryAllDocument(string Uri, string Key, string DatabaseName, string CollectionName)
    {
        DocumentClient client = new DocumentClient(new Uri(Uri), Key, new ConnectionPolicy { EnableEndpointDiscovery = false });
        List<T> list = client.CreateDocumentQuery<T>(UriFactory.CreateDocumentCollectionUri(DatabaseName, CollectionName).ToString(), new SqlQuerySpec("SELECT * FROM c"), new FeedOptions { MaxItemCount = -1 }).ToList<T>();
        return list;
    }
Run Code Online (Sandbox Code Playgroud)

更多信息供您参考:

Azure Cosmos DB:SQL API 的 .NET 示例

Azure Cosmos DB 的 SQL 查询