Asignación de enumeraciones mientras se usa apuesto

dapper enums

Pregunta

Tengo el siguiente problema. Estoy usando Dapper para conectarme a una base de datos, el campo que es varchar en la base de datos es una enumeración en mi objeto. No hay problema para que Dapper asigne el objeto de la base de datos a mi DTO si la enumeración tiene el mismo nombre que la cadena en la base de datos. Lamentablemente, las cadenas de la base de datos no son muy fáciles de usar y me preguntaba si hay una forma de asignarlas o convertirlas (solo enumeraciones) para usar versiones más fáciles de usar. Por ejemplo, el valor de la base de datos para un campo:

SomeVeIRdLooking_Value

Y me gustaría que se asignara a:

public enum MyEnum {
    MyFormattedValue
}

Respuesta popular

Puede seleccionar valores de cadena de la base de datos y convertirlos a mano.

    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();


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué