Если вы знаете, что делаете, вы можете эффективно использовать ORM для замены большей части кода типа CRUD. Однако они не так эффективны для сложных вещей, их сложно настраивать на производительность (вы знаете, что производительность является одной из важнейших частей проектирования баз данных, а не эмулировать объекты), и они совершенно ужасны и опасны в руках того, кто не сами не понимаете или не пишите SQL.
Я также хочу отметить, что сложную отчетность сложно легко сделать с помощью ORM. И, кроме того, если вы не изучите простой SQL на материале easy crud, как вы когда-нибудь сможете написать сложный SQL для создания отчетов? Я никогда не работал в приложении, в котором не было необходимости составлять отчеты, и часто это было довольно сложно.
Также ORM не являются полезными для процессов BI или ETL по большей части. Они также не полезны для запросов администратора базы данных или для поиска информации в таблицах аудита и отмены определенного набора изменений базы данных. Есть много вещей, которые по-прежнему наиболее эффективно работают с SQL. Приложение, запрашивающее базу данных, представляет собой небольшую часть того, что необходимо для запроса в корпоративной среде.
Я также вижу много вопросов о том, как сделать что-то, используя ORM, что автор уже знает, как делать в SQL. Приятно изучать новые вещи, но когда они требуют дополнительного времени и усилий без реального выигрыша по сравнению с оригинальным методом (и часто реальной потерей производительности), почему вы используете их, а не «модно» прямо сейчас.