dapper多映射场景中的混淆

时间:2018-03-26 10:29:54

标签: c# dapper

我已经读过关于dapper multi mapping的内容,但是我得到的是,如果我有两个通过m_turbine_id连接的表,那么我有两个类对应这些表:

测试类

public string turbine_name { get; set; }
public int m_turbine_id { get; set; }

TestMaster Class

 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 ,在这种情况下我应该使用多重映射?

1 个答案:

答案 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具有匹配的结构。