如何在映射时让Dapper忽略/删除字段名称中的下划线?

时间:2015-12-30 16:33:15

标签: postgresql mapping dapper

有很多方法可以将数据库字段名称映射到类名,但是删除下划线的最简单方法是什么?

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

表和数据库字段:

person
-------- 
person_id
full_name

有效的类:( dapper已经忽略大写)

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

我想将课程改为:

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

2 个答案:

答案 0 :(得分:38)

Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;

完成工作; p

答案 1 :(得分:2)

readme未显示任何重命名列的支持。您可以在select

中为它们添加别名
select person_id as personid, full_name as fullname from fn_get_person();

,如this answer中所述。