我有以下问题。我正在使用Dapper连接到数据库,数据库中varchar的字段是我的对象中的枚举。如果枚举与数据库中的字符串同名,则Dapper将数据库对象映射到我的DTO没有问题。不幸的是,数据库中的字符串不是非常用户友好,我想知道是否有一种方法来映射它们或转换(只有枚举)以使用更多用户友好的版本。例如,字段的数据库值:
SomeVeIRdLooking_Value
我希望它映射到:
public enum MyEnum {
MyFormattedValue
}
答案 0 :(得分:0)
您可以从数据库中选择字符串值并手动转换。
public enum MyEnum
{
None,
Success,
Failure
}
var enums = connection.Query<string>("select 'None' union select 'Success' union select 'Failure'")
.Select(x => Enum.Parse(typeof (MyEnum), x)) //use your own method to parse enum from string
.ToList();