【发布时间】:2016-05-26 04:18:20
【问题描述】:
在 C# 中使用 AWS DynamoDB“对象持久性模型”时,遇到了一个有趣的问题;解析扫描操作的结果。在下面的代码中,我在 Datastore.userIndicators (这是一个包含对象列表的字典,由用户名索引)中的条目始终是空列表。
var allIndicators = context.Scan<Indicator>();
Datastore.globalIndicators = allIndicators.Where(i => i.UserName == "*").ToList();
var userDefinedIndicators = allIndicators.Where(i => i.UserName != "*");
foreach (var username in userDefinedIndicators.Select(i => i.UserName).Distinct())
{
Datastore.userIndicators[username] = userDefinedIndicators.Where(i => i.DynamoDbRangeKey.StartsWith(username)).ToList();
}
因此,例如,如果我的表中有条目包含属性“UserName”,其值为“userA”,则在运行此代码时,字典“Datastore.userIndicators”将以键“userA”的条目结束但相应的值将是一个空列表。
【问题讨论】:
标签: c# amazon-dynamodb object-persistence