Dapper는 알 수없는 결과 집합을 지원합니까?

ado.net c# dapper

문제

최신 정보:

Marc이 아래에서 언급했듯이, 근본적인 질문은 QueryMultiple ()을 사용할 때 Read ()가 레코드 세트보다 더 많이 호출되면 어떻게 될까요?


기존의 DB 호출을 SqlDataReader를 사용하여 Dapper로 변환하려고합니다.

그것으로 문제가있다. 나는 조건부로 1-4 개의 sprocs라고 부를 수있는 sproc을 호출한다. 그래서 나는 잠재적으로 많은 결과 집합을 가지고 있습니다. 설명을 단순화하기 위해 1-2 개의 결과 집합 만 있다고 가정합니다. 첫 번째 sproc이 호출되지 않지만 두 번째 sproc이 호출되면 첫 번째 Read () 호출은 첫 번째 결과 세트 만 가져옵니다. 그런 다음 ProjectItem 개체로 간주되는 많은 쓸모없는 TeamItem 개체가 있습니다. 그런 다음 다른 결과 집합이 없기 때문에 물론 두 번째 Read () 호출시 불어납니다.

Dapper에 대해 뭔가 빠졌 는가, 아니면 Dapper가 실현 가능성을 지원할 수없는 극단적 인 경우입니까?

if (_searchParams.WillSearchTeams)
{
    var teams = multi.Read<TeamItem>().ToList();
}
var projects = multi.Read<ProjectItem>().ToList();

수락 된 답변

이미 QueryMultiple을 사용하고 있다고 가정합니다. 근본적인 질문처럼 들리 네요. 그리드보다 많은 시간을 Read라고 부르면 무슨 일이 일어날까요? 나는 그것이 빈 시퀀스를 반환 할 수도있을 것 같군요,하지만 난 TryRead 어떤 종류의 것이 바람직 할 것입니다 생각한다. 아니오, 현재는 없습니다.하지만 이론적으로는 가능합니다.



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