Запрос документов в CosmosDB с использованием C # - PullRequest
0 голосов
/ 06 июня 2018

У меня есть несколько документов, хранящихся в базах данных Azure CosmosDB, и я хотел бы запросить их из своего приложения.Мое приложение написано на C #, и я хочу использовать C # для запроса.

Сейчас я могу сделать это с помощью функции Azure, которая удерживает запрос и затем подключается к моей программе (я подключаюсь к веб-приложению, на котором размещена функция Azure), но я не полностью удовлетворена этим решениемВ основном потому, что мне нужно было создать функцию Azure через графический интерфейс портала.Есть ли способ написать функцию Azure локально в Visual Studio и интегрировать ее в мое решение?Кроме того, я открыт для любого способа запроса документов CosmosDB из кода (возможно, C # с JSON?) В Visual Studio.

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Если вы не хотите использовать .NET SDK, предоставляемый Microsoft, есть библиотека C # с именем Cosmonaut , которая позволяет вам действительно легко запрашивать CosmosDB в вашем приложении.

Вы можете выполнять запросы с помощью Cosmos SQL

var user = await cosmoStore.QueryMultipleAsync<dynamic>("select * from c w.Firstname = 'Smith'");

Но он также поддерживает отображение моделей и асинхронные запросы для сущностей.

Отказ от ответственности: я создателькосмонавта

0 голосов
/ 06 июня 2018

Есть ли способ написать функцию Azure локально в Visual Studio и интегрировать ее в мое решение?

Да, мы можем написать функцию Azure локальнов Visual Studio и интегрировать его в наше решение VS.О том, как это сделать, мы можем сослаться на: Инструменты функций Azure для Visual Studio

Я открыт для любого способа запрашивать документы CosmosDB из кода (C #возможно с JSON?) в Visual Studio

Вот простая демонстрационная версия для справки:

    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;
    }

Дополнительная информация для справки:

Azure Cosmos DB: примеры .NET для SQL API

SQL-запросы для Azure Cosmos DB

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...