我已经读过关于dapper multi mapping的内容,但是我得到的是,如果我有两个通过m_turbine_id连接的表,那么我有两个类对应这些表:
public string turbine_name { get; set; }
public int m_turbine_id { get; set; }
public DateTime m_date { get; set; }
public double m_energy_prod { get; set; }
public int m_turbine_id { get; set; }
现在我想获得 turbine_name 和 m_energy_prod ,在这种情况下我应该使用多重映射?
答案 0 :(得分:0)
也许,也许不是。在许多情况下,有一个类型(可能是用于显示目的的POCO)更合适,它具有您想要显示的所有属性,并且只是在数据库中进行连接(可能是inner
连接),选择你想要的属性;这样:
var items = conn.Query<YourDisplayType>(@"
select t.turbine_name, se.energy_prod, se.date
from turbines t
inner join somethingelse se on t.turbine_id = se.turbine_id
where ... (whatevver)", new {...}").AsList();
其中YourDisplayType
具有匹配的结构。