Карточка Middle EF Core обновлено

Что делает SaveChanges

Вопрос

Что происходит при вызове SaveChanges?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

1. DetectChanges: сравнение текущих значений со снимками.

Ответ

  1. DetectChanges: сравнение текущих значений со снимками.
  2. Генерация INSERT, UPDATE, DELETE в нужном порядке с учётом связей.
  3. Выполнение в одной транзакции (если внешней транзакции нет), с пакетированием команд.
  4. Обновление сгенерированных ключей и перевод сущностей в Unchanged.

Разбор

Для массовых операций без загрузки сущностей в EF Core 7+ есть ExecuteUpdate и ExecuteDelete.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.