特定の列のサブセットを直接DTOに返すDapper

.net c# dapper orm sql-server

質問

Dapperは、フィールドのサブセットのみを持つDTO / POCOに直接データを返すことができますか?つまり、dbテーブルのすべての列を含まないクラスを使用できますか?

たとえば、次のクエリがある場合(私のSQLを言い訳 - 私の強みではない):

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

Dapperを使用して、これを配列/ IEnumerableの次のクラスに読み込むにはどうすればよいですか:

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

ありがとうTim

受け入れられた回答

あなたは以下のようにすることができます

    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);


ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow