Re[11]: Тормознутость и кривость linq
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 19.03.16 15:35
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Естественно не придётся перекомпилировать. ))) Максимум что потребуется, это один if на всё приложение. Такого типа:

_>
_>if(...) db=sqlite3::connection();
_>else if(...) db=mysql::connection();
_>else if(...) db=postgresql::connection();
_>


То есть, компилировать на все случаи жизни.

I>>Такие фокусы, во первых, реализуются с помощью T4 безо всяких извратов, на обычном привычном языке.

I>>Во вторых, эти фокусы _не_ _востребованы_

_>Т.е. примеры реализации ты конечно же привести не можешь, потому что "это не нужно", да? ))) Понятно, понятно... )))


А зачем ? Пудозреваю, здесь одно из двух
1 ты намекаешь, что принципиально невозможно сгенерировать SQL на C#
2 не знаешь, что T4 это обычный C# код вызываемый еще до компиляции. В принципе, нет разницы, до компиляции, или во время неё.

_>Кстати, с учётом новинок в C++, думаю что мы скоро вернёмся к нормальному текстовому заданию sql строк. В стиле db("select name from users where id={id}").


Это незачем. Когда понадобится сменить движок базы, ты вспотеешь приседать. Лучше expression tree или полноценное квазицитирование, нежели вот такие приседания.

>Только вот при этом в процессе компиляции будет происходить полный разбор этой строки, проверка корректности синтаксиса, преобразование переменных и т.п. ))) Это будет уже действительно максимально удобный вариант, получше и существующих библиотек и всяких linq. )))


А кто тебе типы будет подсказывать ?

_>>>Враньё. ) Покажи у меня такой нелепый текст. )

I>>http://rsdn.ru/forum/flame.comp/6387248.1
Автор: alex_public
Дата: 18.03.16


_>Ну и где там про "разницу в скорости между рефлексией и склейкой голых строк"? Если что, при работе linq2sql происходит и рефлексия и склейка строк и ещё куча всего. Так что говорить про разницу между рефлексий и склейкой строк вообще неадекватно, чего я собственно и не делал. ) Рефлексия (и ещё много чего) в случае linq2sql служит чистым оверхедом. )


"медленнее склейки голых sql строк в силу лишних накладных расходов на тормозную рефлексию"
То есть, указывается, что склейка голых строк это хорошо, а тормозная рефлексия и является узким местом, следовательно — разница между рефлексией и склейкой голых строк.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.