Solución para "Tipo de retorno no válido" de Dapper.Contrib al insertar una fila

Solución para "Tipo de retorno no válido" de Dapper.Contrib al insertar una fila

Este es otro de esos momentos embarazosos. Acabo de tener este problema durante bastante tiempo y no podía entender qué estaba haciendo mal. Casi terminé con la conclusión de que tenía que haber algo mal con dapper (¡tenía que ser así!). Como siempre, fue el programador y no el código el que tuvo la culpa.

Lo que había escrito era algo similar a lo siguiente. Una simple inserción para un objeto. ¿Podría ser más sencillo? Incluso la menor cantidad de líneas de código puede tener errores. El error estaba en el parámetro genérico.

var person = new Person{
   Name = "Peter"
};
connection.Insert<Person>(person);

No tuve que especificar el tipo Person . En realidad, esto se usó para el tipo de retorno. Cuando se especifica, dapper intentará asignarse a este tipo. De ahí el mensaje inesperado Invalid return type . A continuación se muestra un ejemplo de cómo se debe hacer.

var person = new Person{
   Name = "Peter"
};
connection.Insert(person); // NO generic type!

Espero que esto ayude a alguien. ¡No dudes en dejar un comentario si fue así!