尝试在DynamoDb中保存枚举时出现“类型不受支持”错误

问题描述 投票:2回答:1

我有以下用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中。

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

c# enums amazon-dynamodb
1个回答
0
投票

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

有关更多信息,请参阅此AWS Blog

© www.soinside.com 2019 - 2024. All rights reserved.