Я пытался получить 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 в классе «Порядок»