我遇到一个问题,即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();
答案 0 :(得分:0)
弄清楚了。问题是我使用的是旧的AWSSDK软件包,而不是更新的AWSSDK.Core和AWSSDK.DynamoDBv2软件包。