Re[3]: BLToolkit как инструмент генерации SQL
От: IT Россия linq2db.com
Дата: 08.03.11 16:24
Оценка: 24 (1)
Здравствуйте, _FRED_, Вы писали:

_FR>Имеется в виду возможность такого псевдокода:


Это Sql Builder pattern. В BLToolkit этот класс называется SqlQuery.

_FR>То есть создание некоего объекта (по сути AST) и дальнейшая возможность трансляции его в SQL для различных СУБД.


Потом он скармливается конкретному SqlProvider и тот строит по нему запрос.

_FR>То есть объектная модель должна поддерживать common table expressions / оконные функции (с атрибутами PARTITION BY / ORDER BY) и прочие "изыски".


Прямой поддержки WITH нет, хотя некоторые провайдеры строят SQL с использованием WITH для некоторых конструкций, например, для пейджинга.

_FR>Быть удобной для сложных манипуляций при построении и изменении объекта-запроса.


Удобным для сложных манипуляций может быть только паттерн-матчинг. Всё остальное — закат солнца в ручную.

_FR>Ага, вот меня по примерам и подкупила возможность в пользовательском коде вносить расширения (ну так мне по примерам показалось что такая возможность есть для функций / подвыражений).


На уровне выражений уже сейчас можно расширяться куда угодно. Сейчас переписывается парсер линк выражений и тогда появится возможность расширяться на уровне цепочки методов, например, добавлять свои методы вроде LeftJoin и т.п.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.