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