manejo de enum en el inserto con dapper

c# dapper

Pregunta

¿Cómo puedo hacer que Dapper use el valor de cadena de una enumeración? En el siguiente ejemplo, usa el valor numérico de la enumeración. En lectura de la base de datos, dapper convierte correctamente string a enum.

public enum Category { A, B }

public Product 
{ 
    public Category Cat {get;set;}
    public int Id {get;set;}
}

Product p  = new Product() {Cat = Category.A, Id=22} ;
connection.Execute("Insert into Products (Cat, Id) Values ",p);

En este caso en la base de datos en la columna Cat I tiene el valor 1 lugar de A

Respuesta popular

La manera más fácil que pienso es:

connection.Execute("Insert into Products (Cat, Id) Values ", new { p.Id, Cat = p.Cat.ToString());


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é