Dapper: Convertir una cadena en una enumeración

.net c# dapper

Pregunta

Soy nuevo en Dapper y estoy tratando de averiguar si puede manejar las cadenas de la base de datos de mapeo a las enumeraciones; no me sucede por defecto.

Por ejemplo, digamos que uso este SQL

select customer_type from customers

y esta clase

public class Customer
{
    ...
    public CustomerType CustomerType { get; set; }
    ...
}

con esta enumeración

public enum CustomerType
{
     Unknown,
     SomeCustomerType,
     ...
}

En este caso, siempre termino con el valor de enum predeterminado (Desconocido) en lugar de una asignación del valor de cadena de la base de datos.

Alguien sabe cómo puedo lograr esto?

Editar: Sé que esto es posible con un campo de número porque un número se convertirá en una enumeración, pero tiene el inconveniente de tener que asegurarse de que la identificación de la base de datos y la enumeración se mantengan sincronizadas. Estoy buscando algo similar pero con una cuerda.

Respuesta popular

Si alias el nombre de la columna para que tenga el mismo nombre que tu propiedad, también debería funcionar:

SELECT REPLACE(customer_type, ' ','') As CustomerType FROM customers

También puede usar la función de reemplazo para eliminar espacios en blanco en caso de que los valores para el campo tipo_cliente en la base de datos tengan alguno.



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é