DocumentDBネタが続きます。
クエリを書いていると、Document自身のCRUD操作は非同期になっているのに、クエリは同期メソッドしか用意されていません。
ということで調べていたらIssueが、以下にあがってました。
現状まだ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中なので、しばしウォッチしていこうと思います。