dapper – 手动使用类属性映射列名

我是Dapper Micro ORM的新手。到目前为止,我能够使用它的简单的ORM相关的东西,但我不能映射数据库列名称与类的属性。例如:

我有数据库表如下:

Table Name: Person
person_id  int
first_name varchar(50)
last_name  varchar(50)

并且我有称为Person的类

public class Person 
{
    public int PersonId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

请注意,表中的我的列名称不同于我试图映射我从查询结果中获得的数据的类的属性名称。

var sql = @"select top 1 PersonId,FirstName,LastName from Person";
using (var conn = ConnectionFactory.GetConnection())
{
    var person = conn.Query<Person>(sql).ToList();
    return person;
}

上面的代码不会工作,因为列名称将不匹配对象的(Person)属性。在这种情况下,有什么我可以做Dapper手动映射(例如person_id => PersonId)列名称与对象属性?

任何线索或帮助将高度赞赏。

这工作正常:

var sql = @"select top 1 person_id PersonId, first_name FirstName, last_name LastName from Person";
using (var conn = ConnectionFactory.GetConnection())
{
    var person = conn.Query<Person>(sql).ToList();
    return person;
}

Dapper没有允许你指定一个Column Attribute的设施,我不反对添加支持,提供我们不拉入依赖。

http://stackoverflow.com/questions/8902674/manually-map-column-names-with-class-properties

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:dapper – 手动使用类属性映射列名