Hibernate/Entity Framework и поддержка изменений в БД

Glebanski
Дата: 23.04.2018 17:15:56
Небольшая предыстория
Коллеги C#-еры пользуют Entity Framework и как-то решили устроить небольшой рефакторинг своей БД в мильярд строк на очень тормозном сервере.
EF сгенерил огромный файл с 100500 инсертов с данными и бедняжки ждали конца выполнения месяц(!) пока я не написал им
INSERT from SELECT (30 секунд).

В связи с этим возникла мысль сделать некий курс для них "отучения от evil Hibernate/EF". Данные фреймворки, хоть и поддерживают кучу разных БД, но, как мне кажется, не достигли еще 80lvl когда дело касается миграции данных.
Но мне пока не хватает сценариев, когда Hibernate/EF еще кое-как сгодится, а при каких случаях только "custom SQL " - наш выбор.
Типа вышеописанной истории.
Ну например, могу себе легко представить, что простое уменьшение длины поля занимает более получаса и вы никак не успеваете в maintenance window. EF про такие подставы, конечно, не знает заранее.
Было бы интересно послушать, как вы (структурно) справились с подобными загвоздками...