将DB列值映射到C#枚举属性值

时间:2019-07-02 17:51:40

标签: c# dapper

我有一个简单的类,其中一个属性是一个枚举。例如:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public Gender Gender { get; set; }
}

public enum Gender 
{
    [EnumMember(Value = "M")]
    Male, // database uses 'M' instead of 'Male'

    [EnumMember(Value = "F")]
    Female // database uses 'F' instead of 'Female'
}

我的数据存储的性别值略有不同-M代替Male,而F代替Female。例如:

enter image description here

如何将M的DB值映射到Gender.Male的枚举值,以及同样地将F映射到Gender.Female呢?

1 个答案:

答案 0 :(得分:2)

在Dapper中,该用例存在一个未解决的问题:#259。看起来像枚举的别名是不可能的,直到它被修复。