query multi fluentmap postgresql mapping dapper

postgresql - multi - ¿Cómo hacer que Dapper ignore/elimine los guiones bajos en los nombres de los campos al mapear?



dapper postgresql (2)

Hay muchas maneras de asignar los nombres de los campos de la base de datos a los nombres de las clases, pero ¿cuál es la forma más sencilla de eliminar los guiones bajos?

public IEnumerable<PersonResult> GetPerson(int personId) { using (var dbConnection = _dbConnectionFactory.Create(ConnectionStrings.ProjectXYZ)) { IEnumerable<PersonResult> result = dbConnection.Query<PersonResult>("fn_get_person", new { personId }, commandType: CommandType.StoredProcedure).ToList(); return result; } }

Tabla y campos de base de datos:

person -------- person_id full_name

Clase que funciona: (Dapper ya ignora las mayúsculas)

public class PersonResult { public int Person_Id { get; set; } public string Full_Name { get; set; } }

A lo que me gustaría cambiar la clase a:

public class PersonResult { public int PersonId { get; set; } public string FullName { get; set; } }


El readme no muestra ningún soporte para cambiar el nombre de las columnas. Podrías alias en select :

select person_id as personid, full_name as fullname from fn_get_person();

como se sugiere en esta respuesta .


Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;

trabajo hecho; p