Dapper는 저장된 proc 호출 세트를 일괄 처리 할 수 ​​있습니까?

.net c# dapper

문제

Dapper 는 저장된 proc 호출 세트를 일괄 처리 할 수 ​​있습니까? 문서에서 다중 결과를 지원하는 것을 볼 수 있지만 Dapper를 사용하여 여러 저장된 proc 호출을 실행할 수 있는지 확실하지 않습니다.

수락 된 답변

Dapper는 저장된 procs에 대한 일괄 처리 명령을 지원합니다.

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

위의 코드는 IDbCommand를 #spInsert 텍스트 3 번을 재사용합니다. 따라서 일괄 처리 삽입이 좀 더 효율적입니다.

일반적으로이 수준의 perf에 대해 걱정할 경우 배치 호출을 트랜잭션으로 래핑합니다.

또한 Dapper는 전송할 배치를 지원합니다.

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

어느 행이 삽입 될지.

#spInsert 가 결과 집합을 반환하면 QueryMultiple 을 사용하여 반복 할 3 개의 레코드 집합을 제공하는 일괄 처리를 실행할 수 있습니다.




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