Dapper documentation에는 IEnumerable
매개 변수를 사용하여 명령을 여러 번 실행할 수 있다고 나와 있습니다."여러 번 명령 실행"기능을 사용하면 데이터베이스를 여러 번 왕복 할 수 있습니까?
connection.Execute(@"insert MyTable(colA, colB) values (@a, @b)",
new[] { new { a=1, b=1 }, new { a=2, b=2 }, new { a=3, b=3 } }
).IsEqualTo(3); // 3 rows inserted: "1,1", "2,2" and "3,3"
윌 데이터베이스에 여러 라운드 트립이 결과합니다 (IEnumerable<T>
의 각 T
에 대한 즉, 일)에는 다음과 같은 예제를 제공? 또는 Dapper는 여러 쿼리를 배치로 변환하고 왕복을 1 회 수행 할만큼 충분히 똑똑합니까? 설명서에서는 일괄 적으로로드하는 예제를 사용하므로 단 한 번의 왕복 이동 만하는 것으로 추측되지만 성능에 민감한 코드에 사용하기 전에 확실하게 알고 싶습니다.
후속 질문으로, 첫 번째 질문에 대한 답변에 따라 거래가 어떻게 처리되는지 궁금 할 것입니다. 즉, T
의 전체 집합에 대해 하나의 거래가 있습니까, 아니면 T
에 대해 하나의 거래가 있습니까?
왜 테스트하고 SQL 프로필러를 실행하지 않습니까? –