有时我不想完全填充我的实体(某些属性并不总是必要的),但是,如何在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来识别列与实体属性之间的映射?
答案 0 :(得分:4)
根据评论中的说明,应的工作方式如下:
var custs = conn.Query<Customer,City,Customer>(sql,
(cust,city) => { cust.City = city; return cust; },
splitOn: "ID,CityID").ToList();