Вам необходимо установить свойство CommandTimeout
:
Время (в секундах) ожидания выполнения команды. Значение по умолчанию составляет 30 секунд.
Как его установить, зависит от используемой технологии доступа к данным.
Для простого ADO.NET:
IDbCommand cmd = ...;
cmd.CommandTimeout = 120; // 2 min
Для EF6:
DbContext db = ...;
db.Database.CommandTimeout = 120; // 2 min
Но похоже, что вы используете Dapper . Используемый метод Query<T>
в настоящее время имеет следующую подпись:
public static IEnumerable<T> Query<T>(
this IDbConnection cnn,
string sql,
object param = null,
IDbTransaction transaction = null,
bool buffered = true,
int? commandTimeout = null,
CommandType? commandType = null
)
Как видите, множество необязательных параметров, и один из них - commandTimeout
, который вам нужен. Таким образом, вы можете использовать что-то вроде этого:
var entities = connection.Query<T>(Query, commandTimeout: 120);
Или вы можете установить время ожидания по умолчанию для всех запросов:
SqlMapper.Settings.CommandTimeout = 120; // 2 min