Dapper.NET 다중 매핑 TSecond 디시리얼라이저가 null입니다.

c# dapper mapping multi-mapping

문제

Dapper를 사용하여 매우 표준적인 다중 매핑 쿼리를 수행하려고하는데 다음 오류가 발생합니다. 가끔씩 다른 오류가 발생하는 경우도 있지만 지금은 재현 할 수 없습니다. 첫 번째 문제가 해결되면이 게시물에 추가하겠습니다.

다음은 쿼리 코드입니다.

var deserializer2 = (Func<IDataReader, TSecond>)info.OtherDeserializers[0];

Dapper.cs의 498 행 :

var deserializer2 = (Func<IDataReader, TSecond>)info.OtherDeserializers[0];

info.OtherDeserializers는 null이므로 NullReferenceException이 발생합니다.

이것은 저장 프로 시저의 내장입니다.

var deserializer2 = (Func<IDataReader, TSecond>)info.OtherDeserializers[0];

나는 진부한 코드를 광범위하게 살펴 봤지만 TFirst의 deserialiser가 null이 아니지만 TS 초가 아닌 것으로 보이는 부분을 찾을 수 없습니다. null로 남겨 두는 TSecond의 디시리얼라이저를 생성 할 때 문제가 발생할 수 있습니까?

유형은 다음과 같습니다.

var deserializer2 = (Func<IDataReader, TSecond>)info.OtherDeserializers[0];

수락 된 답변

아마도 여기에서 가장 중요한 문제는 "분할"하는 방법을 알려주지 않았다는 것입니다. 매개 변수를 추가하십시오.

splitOn: "Latitude"

그것 없이는, dapper 가 두 번째 결과 부분이 없다는 것을 볼 수 있다 . (기본적으로 Id 는 분리되어있다.)




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