Достаточно ли этого способа для выполнения 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...