There are many ways to map database field names to class names, but what is the simplest way to just remove the underscores?
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;
}
}
Table and database fields:
person
--------
person_id
full_name
Class that works: (dapper already ignores capitalization)
public class PersonResult
{
public int Person_Id { get; set; }
public string Full_Name { get; set; }
}
What I would like to change the class to:
public class PersonResult
{
public int PersonId { get; set; }
public string FullName { get; set; }
}
Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
job done ;p
The readme doesn't show any support for renaming columns. You could alias them in select
:
select person_id as personid, full_name as fullname from fn_get_person();
as suggested in this answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With