如何在MultiMap查询中指定列而不是使用*(星号)

时间:2012-11-12 18:53:25

标签: dapper

有时我不想完全填充我的实体(某些属性并不总是必要的),但是,如何在MultiMap查询中指定表列?

只是一个例子:

表客户 ID(PK) 名称 地址 CityID(FK到表市,列ID) 电子邮件

表城 ID(PK) 名称 状态

我需要使用这样的查询:

    SELECT Costumer.ID, Costumer.Name, Costumer.Email, City.ID AS CityID, City.Name AS CityName
    FROM Costumer INNER JOIN City ON Costumer.CityID = City.ID

我的问题是:如何在没有名称冲突的情况下指定连接列,并使用dapper来识别列与实体属性之间的映射?

1 个答案:

答案 0 :(得分:4)

根据评论中的说明,的工作方式如下:

var custs = conn.Query<Customer,City,Customer>(sql,
       (cust,city) => { cust.City = city; return cust; },
       splitOn: "ID,CityID").ToList();