Dapper MultiQueries и соглашения об именах - PullRequest
1 голос
/ 28 февраля 2012

Я пытался получить poco, в котором указанный экземпляр имеет то же имя, что и базовый идентификатор, к которому он подключен.

Dapper выдает ошибку синтаксического анализа, если я выполняю select *.Это справедливо, учитывая, что он пытался сделать (сопоставить возвращаемый столбец со свойством).Однако я планировал создать эти ссылки с помощью лямды.

Альтернативы, по-видимому, явные в отношении столбцов, которые мы возвращаем, или ввести соглашение об именах, такое как

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 в классе «Порядок»

...