私はDynamoDBテーブルをクエリしようとしていますが、私はXamarin.Formsを使用しています。私は「カート」クラスを設定しており、特定のカートのセットを検索しようとしています。ここでは、コードは次のようになります。System.InvalidCastException:指定されたキャストが無効です。 - DynamoDBクエリ
[DynamoDBTable("Carts")]
public class Cart
{
[DynamoDBHashKey]
public string Name { get; set; }
public string Subtitle { get; set; }
public static async Task<List<Cart>> GetAll()
{
CognitoAWSCredentials Credentials = new CognitoAWSCredentials(
"us-west-2:xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx",
RegionEndpoint.USWest2
);
AmazonDynamoDBClient Client = new AmazonDynamoDBClient(Credentials, RegionEndpoint.USWest2);
DynamoDBContext Context = new DynamoDBContext(Client);
DynamoDBOperationConfig config = new DynamoDBOperationConfig();
List<ScanCondition> filter = new List<ScanCondition>()
{ new ScanCondition("Name", ScanOperator.Equal, "NameOfCart") };
config.QueryFilter = filter;
AsyncSearch<Cart> asyncsearch = Context.QueryAsync<Cart>(config);
//AsyncSearch<Cart> asyncsearch = Context.ScanAsync<Cart>(null);
List<Cart> carts = await asyncsearch.GetRemainingAsync();
return carts;
}
}
私は「Context.QueryAsync」を押すと、私は「System.InvalidCastExceptionのを:指定されたキャストは有効ではありません。」を取得します例外。 私はそれ(ScanAsync)の下でコメントアウトした行はうまく動作し、テーブル内のカートの完全なリストを返します。しかしこれは本当に遅く、私はカートの特定のリストを見たいだけです。
ご協力いただければ幸いです!どうもありがとう!
「AsyncSearch」の定義はどこですか? –
http://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/DynamoDBv2/TDynamoDBv2DataModelAsyncSearch%601.html –
「.GetRemainingAsync()」に '.Result'を追加する方法はありますか? –