В проекте ASP.Net Core в качестве СУБД будет использоваться PostgreSQL. И я не знаю что использовать, EF Core или писать все SQL запросы в ручную. Сильно ли EF Core замедляет работу?
Лев Фёдоров, польза тяжелых ORM, таких как Entity Framework в основном на запись, они дают точку завершения бизнес транзакции которая закоммитит изменения в базу(Unit Of Work можно загуглить), отсутствие геттеров/аксессоров для полей сущности, т.е. нет риска нарушить инкапсуляцию и достать из сущности данные в своём коде, контроль за тем чтобы одна и та же сущность не выгрузилась из базы дважды в цикле обработки одного запроса.
А для чтения, для построения отчётов и т.п. что не изменяет данные можно использовать обычный SQL и мапить результаты на структуры/DTO, и не использовать ваши сущности с бизнес логикой. Это быстро, удобно, чётко определяет где выобрка данных и не затрагивает там сущности.
То есть оно работает быстрее чем EF Core?
Рассуждают о том что быстрее тогда, когда с этим возникают проблемы, и в 99% случаев в начале разработки приложения таких проблем нет, а в большинстве проектов в принципе не возникает.
Основной вывод: При неспешных вставках все отрабатывает отлично. Плюс еще учтите контроль целостности данных и поддержка актуальности. Но! При пакетной вставке лучше использовать голый SQL.