Comments 7
Вы пишите один код, чтобы получить другой код? Я три раза перечитал.
Не совсем понимаю зачем это было делать. Честно ожидал, что у вас будет какой-то простой инструмент где мышкой выбрал таблицы из списка, накликал типы связей из списка, условия выборки, а он сам переделал в текст запроса и запустил. Потом это все сохранил для переиспользования.
И разве ваш QueryBuilder не уменьшает гибкость по сравнению с чистым SQL?
Можно разные подходы применить. Например сохранять все сущности запроса в таблице запросов и связанной с ней таблице сушностей и конструировать запрос просто выбором запросов и сущностей. Тогда можно легко добавлять запросы и сущности в таблицы и делать только отметки нужных сущностей и параметров, а сам конструктор сделать в северной процедуре,, которая выдаст строку SQL запроса для динамического выполнения. Строку можно и вручную подправить, если нужно. А так и стандарт кодирования соблюден и построение запроса автоматизируется. Разработка сложных sql северных процедур требует уже другого порядка знаний подходов и алгоритмов обработки наборов данных в SQL и, как правило, для web разработки это не нужно, кроме знания select, update и insert.
Ещё немного и рсхб научит тестировщика пользоваться орм и не тратить время программиста.
Замажьте имя клиента и лицевой счёт на скрине.
Вы используете хинты?
Зачем читать, зачем страдать когда можно изобретать.
Похоже на Entity Framework Core ?
Как в РСХБ разработали средство генерации SQL-запроса для упрощения задач по тестированию