c# で DynamoDB のデータを抽出するとき、QueryAsync
を使用し、Itemsプロパティを使いたいことがあるとします。
エラーが発生するコードとエラーメッセージ
var response = client.QueryAsync(request);
foreach (Dictionary<string, AttributeValue> item in response.Items)
{
…
}
上記のコードでは、以下のエラーが発生します。
'Task<QueryResponse>' does not contain a definition for 'Items' and no accessible extension method 'Items' accepting a first argument of type 'Task<QueryResponse>' could be found (are you missing a using directive or an assembly reference?)
原因と対処方法
原因は、await
の記入漏れです。
client.QueryAsync
を await
で呼び出す必要があります。
対処後のコード
var response = await client.QueryAsync(request);
foreach (Dictionary<string, AttributeValue> item in response.Items)
{
…
}
コメント