Re[89]: Тормознутость и кривость linq
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 28.04.16 07:23
Оценка:
Здравствуйте, netch80, Вы писали:

N> base = "SELECT * FROM Product p"

N> filter = []
N> if categoryFilter is not None:
N> base += " INNER JOIN Category c ON(c.id=p.categoryId)"
N> filter.append("c.name LIKE '{categoryFilter}%'")
N> ... остальные 9 вариантов, которые могут модифицировать отдельные компоненты ...
N> ## финализируем текст
N> request = base + (" WHERE " if filter else "") + " AND ".join(filter)
N>[/code]

N>Сразу дисклеймер: нет, я не поддерживаю позицию alex_public, что это всё лучше делать так вручную — хотя бы потому, что я банально ленив (той ленью, которая достоинство программиста), и в первую очередь побежал бы за готовым средством. Но и рассказ про 1024 варианта, мягко говоря, неадекватен.


Во во начинаем склейку строк без типизации и интеллисение. Я сам в 1С от этого страдаю, особенно когда запросы на десяток страниц. В Linq же это делается все легко и непринужденно.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 28.04.2016 7:58 Serginio1 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.