我已经在Dynamo Db中创建了一个表,其中ID为主键,customerID为排序键。
当我按如下所示通过ID查询项目时,出现错误“提供的关键元素与架构不匹配”
var db = new PocoDynamo(awsDb);
db.GetItem(“ aa4f0371-6144-4bd9-8980-5066501e37aa”);
当我从dynamo数据库中删除排序键时,它可以按预期工作。
通过ID获取项目的正确方法是什么,该方法还具有与之关联的排序键。
public class Notification
{
[PrimaryKey]
public Guid Id { get; set; }
[RangeKey] //Sort Key
public Guid CustomerId { get; set; }
public Guid LinkId { get; set; }
public string PreviewText { get; set; }
}
答案 0 :(得分:0)
在PocoDynamo中,您可以使用具有[CompositeKey]
属性的specify both Hash Key and Range Key,例如:
[CompositeKey(nameof(Id), nameof(CustomerId))]
public class Notification
{
public Guid Id { get; set; }
public Guid CustomerId { get; set; }
public Guid LinkId { get; set; }
public string PreviewText { get; set; }
}