DynamoDB扫描无法正确映射到DynamoDBProperty吗?

时间:2019-04-07 11:02:49

标签: c# amazon-dynamodb

我遇到一个问题,即DynamoDB Scan似乎无法将结果正确映射回数据类。这是一些代码:

[DynamoDBTable(TABLE_NAME)]
public class Settings
{
    public const string TABLE_NAME = "Settings";
    public const string PROPERTY_VALUE_INT = "I";

    [DynamoDBHashKey]
    public string K { get; set; }

    [DynamoDBProperty(PROPERTY_VALUE_INT)]
    public int ValueInt { get; set; }
}

我能够构造Settings对象,并使用PutItem成功将字段“ K”和“ I”添加到DB条目中。但是,当我尝试然后扫描结果时,“ I”字段的值不会映射到Settings对象的“ ValueInt”字段中(因此ValueInt字段始终默认为0)。如果我在“设置”对象中添加“ I”变量,则“扫描”将正确映射到该字段。为何Scan无法识别DynamoDBProperty属性?

这是扫描代码:

AmazonDynamoDBConfig config = new AmazonDynamoDBConfig()
{
    ServiceURL = "http://dynamodb.us-east-2.amazonaws.com"
};
Client = new AmazonDynamoDBClient(config);
Context = new DynamoDBContext(Client);

List<Settings> settings = Context.Scan<Settings>().ToList();

1 个答案:

答案 0 :(得分:0)

弄清楚了。问题是我使用的是旧的AWSSDK软件包,而不是更新的AWSSDK.Core和AWSSDK.DynamoDBv2软件包。