Dapper devuelve un subconjunto de columnas específicas directamente en DTO

.net c# dapper orm sql-server

Pregunta

¿Puede Dapper devolver datos directamente a un DTO / POCO que solo tiene un subconjunto de campos, es decir, puede usar clases que no contienen todas las columnas en las tablas db?

Por ejemplo, si tengo la siguiente consulta (disculpe mi sql, no es mi punto fuerte):

select c.Name as "Customer", o.Number as "OrderNo", ol.Number as "Line", p.Description     as "Product", ol.Qty 
from order o
join customer c on c.Id = o.CustomerId
join orderLine ol on ol.OrderID = o.Id
join product p on p.Id = ol.ProductId
where o.date >= 1/9/2013 and o.date <= 30/9/2013

¿Cómo puedo usar Dapper para leer esto en una matriz / IEnumerable de la siguiente clase?

class CustOrders{
  string Customer {get;set;}
  integer Order {get;set;}
  string Line {get;set;}
  string Product {get;set;}
  integer Qty {get; set;} 
}

Gracias Tim

Respuesta aceptada

puedes hacer lo siguiente

    var sql  = @"select c.Name as [Customer], o.Number as [Order], ol.Number as [Line], p.Description as [Product], ol.Qty ...";
    var result = connection.Query<CustOrders>(query);


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué