В моей службе Windows я выполняю хранимую процедуру, которая выбирает 2500 верхних строк из таблицы и возвращает данные службе.Я ловлю результаты, используя объект SqlDataReader
.
Мой вопрос: возвращает ли объект SqlDataReader
2500 строк в мою службу и сохраняет их в памяти за один раз и читает каждую запись одну за другой или читает каждую запись одну за другой из сохраненногопроцедура в SQL Server?
Спасибо!
SqlCommand getData = new SqlCommand(adminConnectionString, adminConnection);
// Sets SqlCommand Information
getData.CommandText = adminDatabaseName + ".dbo.SprocToExecute";
getData.CommandType = CommandType.StoredProcedure;
getData.CommandTimeout = 300;
// Creates parameters, sets their values, and adds them to the SqlCommand
SqlParameter sessionIDParameter = new SqlParameter("@SessionID", SqlDbType.Int);
sessionIDParameter.Value = ID;
getData.Parameters.Add(sessionIDParameter);
SqlDataReader dataReader = getData.ExecuteReader();
if (dataReader.HasRows)
{
while (dataReader.Read())
{
// DO SOMETHING WITH RECORD
}
}