我试图在 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/