Достаточно ли этого способа для выполнения DataSet?

Я запрашиваю одну из моих таблиц, используя хранимую процедуру

Вот пример метода, который у меня есть. Я хотел бы убедиться, что это наиболее подходящий способ, и в случае 10000 запросов он не вызовет перегрева и не закроет соединение должным образом.

public DataSet GetDetailsByUserId(int userid)
{
    var arParms = new SqlParameter[1];
    arParms[0] = new SqlParameter("@UserID", SqlDbType.Int) { Value = userid };
    var dt = SqlHelper.ExecuteDataset(ConfigurationManager.AppSettings["ConnectionString"], CommandType.StoredProcedure, "StoredProcedureName", arParms);
                return dt.Tables.Count == 0 ? null : dt;

}

1 ответ

Решение

Ваш код в порядке. Будет использован пул соединений. Это предотвратит необходимость создания и последующего уничтожения нового соединения для каждого запроса.

Однако я настоятельно рекомендую переименовать var dt = в var DS, поскольку ExecuteDataSet возвращает DataSet, а не таблицу.

var DS = SqlHelper.ExecuteDataset(ConfigurationManager.AppSettings["ConnectionString"], CommandType.StoredProcedure, "StoredProcedureName", arParms);

return DS.Tables.Count == 0 ? null : dt; // Dataset owns 1 or more tables...
Другие вопросы по тегам