есть стандартный ADO.NET, SqlCommand и всё в этом духе.
Я переиспользую SqlCommand меняя CommandText.
Сначала в SqlCommand у меня идет "SELECT", потом я делаю
command.ExecuteReaderAsync.
Потом меняю SqlCommand.Text = "UPDATE";
и выполняю SqlCommand.ExecuteNonQueryAsync
Но у меня ругался на то что типо открыт DataReader и вот я не знаю что лучше сделать, Dispose или Close?
Потому что reader я получаю так -
await using var reader = await command.ExecuteReaderAsync(ct);
Как бы я понимаю что using сделает Dispose и вызовет Close
Я вызывал reader.CloseAsync(ct) и reader.DisposeAsync(ct), поочередно, никакой разницы не заметил, просто нужно понять что в дальнейшей перспективе будет лучшим)
Подскажите пожалуйста что лучше использовать в рамках ADO.NET с переиспользованием SqlCommand?
в блок запихай, чтобы ридер задиспозился до того как ты команду снова будешь использовать
он у тебя dispose сделает по выходу из блока. ограничь блок явно
Обсуждают сегодня