).
я называю этот код:
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
.