c# - 将枚举列表存储在Azure表存储中

标签 c# enums azure-storage azure-table-storage

我试图在 Azure 表存储中存储枚举对象列表,但当 azure 插入它时,列表的值为 null。

public enum ExtractedType
{
    Image,
    Video
}
public class Request : TableEntity
{
   private List<ExtractedType> _ExtractedTypes = new List<ExtractedType>();
    public List<ExtractedType> ExtractedTypes
    {
        get
        {
            return _ExtractedTypes;
        }

        set
        {
            _ExtractedTypes = value;
        }
    }
} 

当我执行插入并尝试从存储中取回数据时,列表始终为空。 azure 不能反序列化枚举列表吗?

最佳答案

这是一个简单的解决方法(类似于我所做的 here ):

public string ExtractedTypesFlat { get; set; } //for use by the Azure client libs only
[IgnoreProperty] public List<ExtractedType> ExtractedTypes 
{
    get 
    { 
        return ExtractedTypesFlat
                     .Split(',')
                     .Select(s => (ExtractedType)Enum.Parse(typeof(ExtractedType), s))
                     .ToList(); 
    }
    set { ExtractedTypesFlat =  String.Join(",", value); }
}

正如我在另一个线程中提到的,如果可以使用一个简单的支持值而不是额外的公共(public)属性,那就太好了(没有覆盖 ReadEntity/WriteEntity 的麻烦)。再次,我将链接到 user voice ticket我打开了这将有助于这一点,如果您想支持这个想法并投票的话。

关于c# - 将枚举列表存储在Azure表存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19767686/

相关文章:

Azure WebApp 存储文件

azure - 使用 Azure 在哪里存储用户图片等内容? Blob 存储?

c# - 从 C# 获取非托管 C++ 函数

c# - ListView 不刷新其项目

带对象的 TypeScript 枚举

C# struct with enum For Form Position

azure - VMSizeDoesntSupportPremiumStorage Azure 从 VHD 创建 VM

c# - .NET 有哪些 Web API 框架?像 Frapi 或葡萄

c# - 这个关键字存在吗?当覆盖方法需要调用父方法时

c# - 具有多个值的资源文件(或通过代码访问注释列)