Dapper MultiQueries和命名约定

时间:2012-02-28 11:42:40

标签: c# dapper

我试图拥有一个poco,其中引用的实例与其键入的基础ID具有相同的名称。

如果我执行select *,Dapper会抛出一个解析错误。考虑到它正在尝试做什么(将返回的列与属性匹配),这是公平的。但是,我计划用lamda实例化这些引用。

替代方案似乎要明确我们带回的列,或者引入命名约定,例如

SomeClassName ref_someid {get;set;} 

int someid {get;set;}.

我想知道其他人在这种情况下可能会做些什么,或者如果Dapper中有一个我缺少的选项。

示例:

 cx.Query<Order, OrderType, Order>
     ("select o.*,ot.* from Order o join OrderType ot on 
                                             o.OrderTypeId=ot.OrderTypeId",
       (a,b) => 
         {a.ref_OrderType = b; return a;});

Vs的

 cx.Query<Order, OrderType, Order>
     ("select o.* from Order o join OrderType ot on 
                                            o.OrderTypeId=ot.OrderTypeId", 
     (a,b) => 
          {a.ref_OrderType = ALookup.GetOrderType(a.OrderTypeId); return a;});

注意:错误的问题是“订单”类中的a.ref_OrderType和a.OrderTypeId

0 个答案:

没有答案