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関数には複数のバージョンがあります。 1つ(またはそれ以上)に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
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow