Сообщение Re[89]: Тормознутость и кривость linq от 28.04.2016 7:23
Изменено 28.04.2016 7:58 Serginio1
Здравствуйте, 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 же это делается все легко и непринужденно.
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 же это делается все легко и непринужденно.
Re[89]: Тормознутость и кривость linq
Здравствуйте, 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 же это делается все легко и непринужденно.
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 же это делается все легко и непринужденно.