Выбор ответа Junior EF Core спрашивают часто обновлено
Зачем AsNoTracking
Вопрос
Когда стоит использовать AsNoTracking()?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Для запросов только на чтение: без снимков для трекера. По умолчанию EF Core регистрирует загруженные сущности в трекере изменений и хранит исходные значения для сравнения при SaveChanges.
Варианты ответа
- Для запросов только на чтение: без снимков для трекераправильный ответ
- Когда нужно быстрее сохранить изменения загруженных сущностей
- Чтобы отключить кеширование SQL-плана запроса в базе данных
- Чтобы запрос выполнился вне транзакции и не брал блокировок
Разбор
По умолчанию EF Core регистрирует загруженные сущности в трекере изменений и хранит исходные значения для сравнения при SaveChanges. Для отчётов и API на чтение это лишняя работа. С AsNoTracking изменения сущностей не будут сохранены, поэтому для обновлений он не подходит. На план выполнения в базе и транзакции он не влияет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.