猿问

使用类属性手动映射列名称

使用类属性手动映射列名称

我是Dapper micro ORM的新手。到目前为止,我能够将它用于简单的ORM相关内容,但我无法使用类属性映射数据库列名。

例如,我有以下数据库表:

Table Name: Personperson_id  intfirst_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)具有对象属性的列名吗?


梦里花落0921
浏览 609回答 3
3回答

慕尼黑的夜晚无繁华

这很好用:var&nbsp;sql&nbsp;=&nbsp;@"select&nbsp;top&nbsp;1&nbsp;person_id&nbsp;PersonId,&nbsp;first_name&nbsp;FirstName,&nbsp;last_name&nbsp;LastName&nbsp;from&nbsp;Person";using&nbsp;(var&nbsp;conn&nbsp;=&nbsp;ConnectionFactory.GetConnection()){ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;person&nbsp;=&nbsp;conn.Query<Person>(sql).ToList(); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;person;}Dapper没有允许你指定列属性的工具,我不反对添加对它的支持,只要我们不引入依赖。
随时随地看视频慕课网APP
我要回答