Форум
Компьютерные священные войны
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, gandjustas, Вы писали: G>Здравствуйте, a_g_99, Вы писали: __>>Здравствуйте, gandjustas, Вы писали: G>>>Неверно, какой IQueryable на входи подается - неизвестно, там уже могут быть join и фильтры, на результат также могу быть навешаны дополнительные предикаты. G>>>Во вторых твой код тупо длиннее. G>>>В третьих - код не рабочий, так как превратить три точки в что-то конкретное далеко не тривиально. __>>У меня твердое ощущение, что вы человек исключительно гуманитарного склада ума. Причем в крайней степени (стадии?). G>Да, я понимаю то когда нечего ответить, то можно поискать проблемы в собеседнике. __>>По пунктам: __>>1) Да все равно мне какой IQueryable на вход подается. Вы можете все что угодно там джойнить и выставлять любые SARG во клиентском коде (в N строках кода) - я все равно сделаю все лакончинее и эффективнее Одним запросом G> :))) G>Давай вариант попроще: G>[c#] G>if(value1 != null) G>{ G> query = query.Where( e => e.Field1 == value1 ) G>} G>if(value2 != null) G>{ G> query = query.Where( e => e.Field2 == value2 ) G>} G>if(value3 != null) G>{ G> query = query.Where( e => e.Field3 == value3 ) G>} G>[/c#] G>Количество вариантов запросов на выходе - 6 штук. Вообще если у тебя N то запросов будет N! (факториал). G>При этом при изменении одного аспекта тебе надо будет вносить правки в (N-1)! запросов. G>При N=5 человек уже не может это делать. __>>2) Вы рассчитывайте по SARG и все встанет на свои места. Если вы знаете, что такое SARG конечно :). Это не говоря уже о сравнении с итоговым SQL то EF. G>Понятия не имею что такое SARG. Гугл не помог. Скорее всего ты привел эти буквы чтобы казаться умнее. Может ты расскажешь что это? __>>3) Да что вы такое говорите :) ? Не собирается в студии :) ? Вы привели мне пример концептуального кода, я привел вам контрпример. Зачем глупости-то говорить? G>Мой пример собирается в студии, я только оттуда несущественные детали убрал. Ты же пропустил довольно важные части. G>>>И таки да - увеличивает скорость разработки в разы. Тупо за счет compile-time check. __>>Это называется школярское мышление. Вы видимо не можете себе представить, насколько может быть производительным инженер, если он владеет предметной областью. G>Это не релевантно, независимо от знания предметной области проверка кода компилятором ускоряет разработку. __>>compile-time check - это суррогат малограмотных идиотов, которые из-за отсутствия системного мышления пересобирают проект каждые 5 секунд в поисках ошибки. G>Зачем пересобирать? Студия прямо при вводе показывает несоответствия типов \ опечатки. Причем именно банальные опечатки \ недоисправления после копипасты приводят к большей части ошибок, которые в случае текстового SQL отлавливаются очень сложно. G>>>Как минимум compile time check. Этого уже более чем достаточно, чтобы писать быстрее, чем sql запросы в тексте. __>>Для разработки sql-запросов существуют специальные tools, которые позволяют делать это быстро, эффективно и тут реализовать проверки with sql engine. Если вы владеете подобными tools и имеете соответствующий опыт разработки SQL, то вы будете делать это гораздо быстрее чем с помощью какого-то индо-пакистанского костыльного убожества. G>Пример? Что ты используешь? G>>>В любом случае ты в начале проекта не сможешь родить схему и все запросы, чтобы они ни разу не изменились. __>>А мне и не нужно этого делать. Я достаточно владею SQL, чтобы гибко изменять код и схему в зависимости от измени внутри проекта. Зачем мне для этого этот тормозной костыльный каркас? G>Каждое изменение текстового SQL имеет вероятность ошибки. Отсутствие декомпозиции запросов повышает риск получения несогласованных действий.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …