Comment faire en sorte que Dapper ignore / supprime les traits de soulignement dans les noms de champs lors du mappage?

dapper mapping postgresql

Question

Il existe de nombreuses manières de mapper les noms de champs de bases de données en noms de classes, mais quelle est la manière la plus simple de supprimer simplement les traits de soulignement?

    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;
        }
    }

Champs de table et de base de données:

person
-------- 
person_id
full_name

Classe qui fonctionne: (dapper ignore déjà la capitalisation)

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

Ce que je voudrais changer de classe pour:

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

Réponse acceptée

Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;

travail effectué p


Réponse populaire

Le readme ne montre aucun support pour renommer des colonnes. Vous pouvez les nommer dans select :

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

comme suggéré dans cette réponse .




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi