'类型不受支持'尝试在DynamoDb中保存枚举时出错

时间:2018-01-16 23:11:39

标签: c# enums amazon-dynamodb

我有以下用DynamoDb属性修饰的类:

[DynamoDBTable("Orders")]
public class OrderDynamoModel
{
    [DynamoDBHashKey]
    public int OrderId { get; set; }

    [DynamoDBProperty]
    public DateTime DateTimeUtc { get; set; }

    [DynamoDBProperty]
    public int TId { get; set; }

    [DynamoDBProperty]
    public OrderStatus Status { get; set; }

    [DynamoDBProperty]
    public string Order { get; set; }
}

[Flags]
public enum OrderStatus
{
    None = 0,
    Pending = 1,
    Completed = 2
}

当我尝试使用DynamoDBContext.Save保存类的实例时,出现以下错误:

  

类型OrderStatus不受支持,无法实例化

当我将OrderStatus的属性类型更改为int并相应地更新代码时,它可以成功地将记录保存在DynamoDb中。

知道我为什么不能使用枚举?

1 个答案:

答案 0 :(得分:0)

您使用的是自2016年以来尚未更新的旧版AWS SDK version 2。您需要升级到version 3,至少需要升级到版本3.1.1是添加enum类型支持的时候。

有关详细信息,请参阅此AWS Blog