Dapper.NET을 사용하여 한 번의 왕복으로 여러 SQL 문 제공

.net c# dapper sql sql-server

문제

ADO.NET에는 한 번의 왕복으로 여러 SQL 문을 데이터베이스로 보내고 모든 문에 대한 결과를받을 수있는 유용한 기능이 있습니다.

var command = new SqlCommand("SELECT count(*) FROM TableA; SELECT count(*) FROM TableB;", connection);

using(var reader = command.ExecuteReader())
{
    reader.Read();
    resultA = reader.GetInt32(0);
    reader.NextResult();
    reader.Read();
    resultB = reader.GetInt32(0);
}

Dapper.NET에 비슷한 기능이 있습니까?

인기 답변

예, Dapper QueryMultiple 확장은 다음과 같이 할 수 있습니다.

string query = @"SELECT COUNT(*) FROM TABLEA;
                 SELECT COUNT(*) FROM TABLEB";
using (var multi = connection.QueryMultiple(query, null))
{
    int countA = multi.Read<int>().Single();
    int countB = multi.Read<int>().Single();
}     

Marc Gravell에 따르면 단일 배치에서 여러 쿼리를 실행하는 이상적인 방법입니다.

참고 : Dapper 작성자 인 Sam Saffron QueryMultiple 를 달성하기 위해 QueryMultiple 을 사용 하는 코드 샘플대한 자세한 설명을 게시했습니다.



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