Здравствуйте, Ikemefula, Вы писали:
I>То есть, компилировать на все случаи жизни.
А ты думаешь твой ORM в .net по другому устроен? ))) Всё тоже самое. )
_>>Т.е. примеры реализации ты конечно же привести не можешь, потому что "это не нужно", да? ))) Понятно, понятно... ))) I>А зачем ? Пудозреваю, здесь одно из двух I>1 ты намекаешь, что принципиально невозможно сгенерировать SQL на C# I>2 не знаешь, что T4 это обычный C# код вызываемый еще до компиляции. В принципе, нет разницы, до компиляции, или во время неё.
Я в курсе, что t4 — это препроцессор в C#. И кстати говоря, меня бы вполне устроило решение на нём, если бы оно могло чётко проверять sql синтаксис и генерировать оптимальные sql строки. Только вот я что-то сомневаюсь, что такое просто написать. И думаю, что готовых реализаций просто нет.
_>>Кстати, с учётом новинок в C++, думаю что мы скоро вернёмся к нормальному текстовому заданию sql строк. В стиле db("select name from users where id={id}"). I>Это незачем. Когда понадобится сменить движок базы, ты вспотеешь приседать. Лучше expression tree или полноценное квазицитирование, нежели вот такие приседания.
Ты видимо тоже невнимательно читаешь. )))
>>Только вот при этом в процессе компиляции будет происходить полный разбор этой строки, проверка корректности синтаксиса, преобразование переменных и т.п. ))) Это будет уже действительно максимально удобный вариант, получше и существующих библиотек и всяких linq. ))) I>А кто тебе типы будет подсказывать ?
Нуу это вообще смешной вопрос. ))) Если уж printf типизированный давно существует в современном C++, то тут уже понятно всё. )
_>>Ну и где там про "разницу в скорости между рефлексией и склейкой голых строк"? Если что, при работе linq2sql происходит и рефлексия и склейка строк и ещё куча всего. Так что говорить про разницу между рефлексий и склейкой строк вообще неадекватно, чего я собственно и не делал. ) Рефлексия (и ещё много чего) в случае linq2sql служит чистым оверхедом. ) I>"медленнее склейки голых sql строк в силу лишних накладных расходов на тормозную рефлексию" I>То есть, указывается, что склейка голых строк это хорошо, а тормозная рефлексия и является узким местом, следовательно — разница между рефлексией и склейкой голых строк.
ОК, будем считать, что ты плохо понял мою фразу. ) Очевидно, что время работы рефлексии никто не сравнивает со временем склейки голых строк. Её сравнивают с нулём, т.е. всё её время — это чистый оверхед.