Dapper.NET에서 CommandTimeout을 조정 하시겠습니까?

.net c# dapper timeout

문제

나는 Dapper를 통해 저장 프로 시저를 통해 SQL 백업을 실행하려고 시도하고있다. (내 애플리케이션의 나머지 부분은 Dapper를 사용하므로이 부분을 계속 실행하는 것을 선호한다.) CommandTimeout이 시작될 때까지 잘 작동합니다.

using (var c = SqlConnection(connstring))
{
    c.Open();
    var p = new DynamicParameters();
    // fill out p

    c.Execute("xp_backup_database", p, commandType: CommandType.StoredProcedure);
}

내가 아는 유일한 CommandTimeout 설정은 SqlCommand에 있습니다. Dapper를 통해 이것을 설정할 수있는 방법이 있습니까?

수락 된 답변

네, 여러 버전의 Execute 기능이 있습니다. 그 중 하나 이상에 commandTimeout 매개 변수가 있습니다.

public static int Execute(this IDbConnection cnn, string sql, 
                dynamic param = null, IDbTransaction transaction = null, 
                            int? commandTimeout = null, CommandType? commandType = null)

SqlMapper.cs 에서 가져옴


인기 답변

누구든지 원할 경우를 대비하여 수용된 답변이 추가 된 원래 질문의 예입니다. (제한 시간은 60 초로 설정 됨) :

using (var c = SqlConnection(connstring))
{
    c.Open();
    var p = new DynamicParameters();
    // fill out p

    c.Execute("xp_backup_database", p, commandTimeout: 60, 
                                       commandType: CommandType.StoredProcedure);
}



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