).

я называю этот код:

using (var connection = new SqlConnection(connectionString))
{
    var command = new SqlCommand("SELECT * FROM Table", connection);
    connection.Open();
    using (var reader = command.ExecuteReader())
    {
        while(reader.Read())
        {
            // Do something here
        }
    }
}

что происходит внутри? Как это работает на сетевом уровне? Будет ли он совершать новую поездку в базу данных для каждого звонкаRead или есть ли пакетное чтение реализовано внутри?

Я спрашиваю, потому что я только что прочитал, что ODP.NET предоставляетFetchSize собственность в обоихOracleCommand а такжеOracleDataReader который я понимаю как определение того, сколько записей должно быть предварительно загружено за одну поездку в базу данных. Интересно, работает ли SQL Server аналогичным образом и существует ли какое-либо подобное поведение, которое можно где-то настроить. Я не нашел такой конфигурации вSqlCommand, SqlDataReader или жеCommandBehavior.

Ответы на вопрос(2)

Ваш ответ на вопрос