Dapper 다중 매핑 API splitOn 매개 변수 오류 - 다중 매핑을 사용하지 않습니다.

.net c# dapper sql

문제

나는 많은 procs와 상호 작용하는 프로젝트를 가지고있다. 노출 된 SQL Select는 없습니다. 나는 Dapper를 사용하고 있습니다. MultiMapping 기능을 사용하려고하지 않습니다. 나는이 proc이 왜 그 오류를 반환하는지 알아 내려고 노력하고있다. 무엇을 확인해야합니까? 내가 뭘 찾아야하니?

오류 : 다중 매핑 API를 사용할 때 Id \ r \ n 이외의 키가있는 경우 splitOn 매개 변수를 설정해야합니다. 매개 변수 이름 : splitOn

수락 된 답변

SP가 레코드를 반환하지 않으므로 Query () 대신 Execute ()를 사용해야합니다. Dapper는 데이터를 가져 오는 중이라고 가정하므로 누락 된 결과를 모델 클래스에 매핑합니다.


인기 답변

오늘이 문제에 부딪 혔습니다. 실제로 멀티 맵핑을 시도하지 않을 때 MultiMapping 오류 메시지가 나타나는 이유를 이해할 수 없었습니다. 내 코드는 sproc가 실제로 일부 행을 반환하기 때문에 Execute 대신 dapper의 Query를 사용합니다.

내 varchar 매개 변수를 사용하는 저장 프로 시저에서 매개 변수가 NULL로 전달되면 그 결과는 반환 값 정수 0입니다. 빈 문자열로 전달되면 빈 결과 세트가 맨 위에 표시됩니다. 통상의 반환 값 0

Dapper가 Query<MyClass> 를 사용한다고 말했기 때문에 null 버전의 null 반환 값을 MyClass 아닌 int로보고 멀티 맵 오류가 발생한 곳인 Multimap을 시도했습니다.

이 문제를 해결하기 위해 null 매개 변수를 빈 문자열 매개 변수로 변환하는 저장 프로 시저를 변경하여 결과 집합 대신 빈 결과 집합을 보장 한 다음 Dapper가 다시 행복하게 작업하기 시작했습니다.



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