Не совсем ответ, но слишком долго для комментария:
Я создал веб-приложение среднего размера с использованием метода «сцепления кусочков SQL» и в настоящее время выполняю аналогичную работу, но с использованием L2E.
Я обнаружил, что при некотором самоконтроле метод concatenate-pices-of-sql не так уж и плох. Конечно, используйте параметризованные запросы, не пытайтесь вставить пользовательский ввод непосредственно в SQL.
Я постепенно увеличивал понимание метода L2E. Это обеспечивает безопасность типов, хотя некоторые вещи нужно выполнять «задом наперед» по сравнению с тем, как вы можете это делать с SQL - например, WHERE X IN (...)
конструкции. Но пока я не попал ни в какое, с чем не справится L2E.
Мне кажется, что подход L2E было бы немного проще поддерживать, если бы другие люди были сильно вовлечены.
Есть ли у вас реальные случаи использования, когда "раздувание" L2E является проблемой? Или это просто общее чувство недомогания, когда вы чувствуете, что фреймворк слишком много делает за кулисами?
У меня определенно было такое чувство поначалу (хорошо, все еще есть), и, конечно, мне не нравится читать сгенерированный SQL (особенно по сравнению с моим рукописным SQL из предыдущего проекта), но до сих пор я нашел L2E довольно хорошим с Относитесь только к попаданию в БД, когда это действительно необходимо.
Другая проблема заключается в том, какую БД вы используете, и насколько актуальны ее привязки L2E. Если вы используете SQL Server, то нет проблем. MySql может быть более облупленным. Кусочек привлекательности L2E проистекает из его приятной интеграции с VStudio и способности VStudio автоматически создавать модели объектов из вашей БД. Не уверен, насколько хороша поддержка бэкэндов не-MS DB.