Dapper QueryMultiple 객체에 매핑되지 않은 저장 프로 시저

dapper dapper-extensions tsql

문제

dapper를 사용하면 다음과 비슷한 일괄 저장 프로 시저를 실행할 수 있습니다.

connection.Execute(@"
  exec sp1 @i = @one, @y = @two 
  exec sp2 @i = @three",
  new { one = 1, two = 2, three = 3 });

그러나 지금까지 본 데이터를 검색하는 유일한 방법은

results.Read<Type>()

결과가 객체에 매핑되지 않으면 어떻게 될까요? 예를 들어, 변수 / 입출력 매개 변수 및 결과 세트가있는 SP를 실행하는 "일반"코드를 작성하고 있습니다.

감사

수락 된 답변

어떤 API를 원하십니까? 별도로 그리드를 처리 할 수있는 경우 :

using(var multi = connection.QueryMultiple(...))
{
    while(!multi.IsConsumed) {
        // ...
    }
}

어디서 ... 에 액세스 할 수 있습니까 ...

  • dynamic 행에 대한 Read() - 각 행에서도 IDictionary<string,object>
  • 제네릭을 통해 입력 된 행에 대해 Read<T> ()를 Read<T>
  • 제네릭없이 입력 된 행에 대한 Read(Type)
  • Read<DapperRow > () (실제로, 이것은 단지이다 T Read<T>() 구현하기 위해 사용하는 Read() 메타 데이터에 약간 더 액세스를 제공하지만, 아마도 더 편리)

원시 IDataReader 에 드롭하려면 다음을 수행하십시오.

using(var reader = connection.ExecuteReader(...)) {
    // whatever you want
}

매개 변수와 관련하여 DynamicParameters 클래스는 매개 변수 방향 등을 포함하여 매개 변수 제어에 훨씬 더 많은 액세스를 제공합니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow