어떻게 dapper를 사용하여 nullable int []를 얻습니까?

c# dapper sql-server-2008

문제

Dapper를 사용하여 int 의 단일 열을 포함하는 행을 여러 개 가져오고이 결과 집합을 비울 수 있습니다. Dapper를 사용하여이 데이터를 쿼리하는 가장 좋은 방법은 무엇입니까?

예를 들어, 내가 원하는 것을 반환하는 다음 메서드가있는 경우 :

conn.Query<int>("select 123 where 1=0").ToArray();

이 행을 다음과 같이 변경하면 :

conn.Query<int>("select 123 where 1=0").ToArray();

결과가 없을 때 캐스팅 오류가 발생합니다.

Stack Trace가 아래에 있으며, (T)next 캐스팅 (T)next 할 때 객체의 인스턴스로 설정되지 않은 객체 참조가 예외입니다.

conn.Query<int>("select 123 where 1=0").ToArray();

수락 된 답변

내 문제는 코드에서 LEFT JOIN 을 수행하는 것으로 판명되었지만 오류를 재현하려고 시도하는 동안 INNER JOIN 을 사용하여 동일한 동작을 재현 할 수 없었습니다. LEFT JOIN 사용하면 NULL 값이있는 단일 행이 반환되므로 NULLint 사이의 캐스팅 오류가 발생 NULL .


인기 답변

글쎄, WhereSelect 는 int이면 아무런 의미가 없다. 확실히 그들을 제거하고 싶다.

conn.Query<int>("select 123 where 1=0")
    .ToArray();

그렇게 할 때 어떤 문제가 있습니까?




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