Учитывая предпосылку:
- Есть компетентные программисты sql (коррелировать - писать sql-запросы не являются проблемой)
- Существуют компетентные разработчики приложений (коррелирует - существует простая/сильная/гибкая архитектура для обработки соединений и простых запросов от кода).
Почему люди используют linq для sql?
- В каждую транзакцию добавляются накладные расходы
- Существует высокая вероятность потери производительности при умеренно-сложных вычислениях (для обработки наборов и вычислений используются БД), а команды инженеров, разрабатывающих оптимизацию, - почему это бесполезно?)
- Потеря гибкости (если вы хотите добавить другое ui (не .NET-приложение) или метод доступа, вам либо нужно вернуть запросы в db, либо сделать отдельный уровень доступа к данным)
- Существует потеря безопасности, не имея централизованного управления записью/обновлением/чтением на db (например, запись изменилась - если вы разрешаете приложениям использовать linq для sql для обновления, то вы не можете доказать, какое приложение изменилось это или какой экземпляр приложения изменил его)
Я продолжаю видеть вопросы о linq для sql, и мне интересно, не хватает ли я чего-то.