Dapper : GridReader에서 n 번째 항목을 직접 읽음

dapper

문제

이것은 내가 dapper blog에서 찾은 것

var sql = 
@"
select * from Customers where CustomerId = @id
select * from Orders where CustomerId = @id
select * from Returns where CustomerId = @id";

using (var multi = connection.QueryMultiple(sql, new {id=selectedId}))
{
   var customer = multi.Read<Customer>().Single();      
   var returns = multi.Read<Return>().ToList();
   var orders = multi.Read<Order>().ToList();
   ...
} 

내 요구 사항은 "주문"만을 직접 읽고 싶습니다. 내가 할 수 있을까?

수락 된 답변

다른 두 개가 필요하지 않다면 시퀀스를 반복하지 않고도 Read 를 호출 할 수 있습니다. 객체는 구체화되지 않습니다.

var customer = multi.Read<Customer>(); // not consumed
var returns = multi.Read<Return>(); // not consumed
var orders = multi.Read<Order>().ToList();

인기 답변

검색어 확장 프로그램을 사용하여 싱글을 읽을 수 있습니다.

const string sql = "select * from Orders where CustomerId = @id";
var orders = connection.Query<Order>(sql, new {id = 1}).ToList(); 

편집하다:

저장 프로 시저를 실행하려면 :

var orders = connection.Query<Order>("GetOrders", new {id = 1}, commandType: CommandType.StoredProcedure).ToList();


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.