如何将list <enum>转换为string。我需要在数据库中保存字符串而不是C#

时间:2017-12-05 11:58:06

标签: c# json

我的枚举

public enum Employee_roles
{
    admin,
    controller,
    planner,
    stockkeeper,
    client,
    bpengineer,
    superintendent,
    seniorengineer,
    procurementmanager,
    hseadmin,
    hseclient,
    rawadmin,
}

这个模型类

public class access_right
{

    public string id { get; set; }
    public string model { get; set; }
    [JsonConverter(typeof(StringEnumConverter))]
    public method method { get; set; }
    [JsonConverter(typeof(StringEnumConverter))]
    public List<Employee_roles> roles { get; set; }
    public List<string> email { get; set; }
    [JsonConverter(typeof(StringEnumConverter))]
    public access_type access { get; set; }

}

** roles属性是List。如果它不是列表没有问题[JsonConverter(typeof(StringEnumConverter))]这个方法有效。但列表如何转换请帮帮我**

2 个答案:

答案 0 :(得分:0)

var list = Enum.GetNames(typeof(Employee_roles)).ToList();

答案 1 :(得分:0)

如果要将角色保存为字符串,可以使用JsonPropertyAttribute.ItemConverterType属性,如下所示:

[JsonProperty (ItemConverterType = typeof(StringEnumConverter))]
public List<Employee_roles> roles { get; set; }