Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

CreateDocumentQueryAsync メソッドがない

DocumentDBネタが続きます。

クエリを書いていると、Document自身のCRUD操作は非同期になっているのに、クエリは同期メソッドしか用意されていません。

ということで調べていたらIssueが、以下にあがってました。

github.com

現状まだOpenですね。

        static async Task Test(DocumentClient client)
        {
            var query = client
                .CreateDocumentQuery<TestDoc>(UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId))
                .Where(doc => doc.Key1 == "hoge").AsDocumentQuery();

            var list = new List<TestDoc>();
            while (query.HasMoreResults)
            {
                list.AddRange(await query.ExecuteNextAsync<TestDoc>());
            }
        }

中の人が言うには、ExecuteNextAsync をぐるぐるしろってことで、うえのようなコードになりますが、ちょいとださい。フレームワーク側で吸収してほしいなと思う感じです。Open中なので、しばしウォッチしていこうと思います。