Поиск по параметрам
От: J_K  
Дата: 19.07.09 06:51
Оценка:
Здравствуйте.
Имеется форма поиска некоторого товара. Например, это могут быть палатки. Например, требуется выбрать кемпинговую палатку на 4 человек с одним тамбуром. Другие параметры (их может быть сколько угодно каких угодно) неважны. Как обработать данные? Т.е. порядок действий примерно таков:
1. Пользователь указывает значение параметров, выбранных произвольно (т.е. не все параметры могут быть указаны)
2. Данные отправляются на сервер и там обработчик должен отправить запрос к БД.
3??? Кто формирует запрос? Ясно, что это не может быть хранимая процедура, поскольку заранее неизвестно, какие параметры будут указаны. Можно составить запрос (строку) программным образом типа "если этот параметр присутствует, то включить его в строку, иначе нет" — но тогда получится запутанный и уродский код — потому что этот параметр надо указывать дважды, даже трижды — при вводе параметров, в самом запросе и потом при выводе данных. Чуть более красиво получается если использовать LINQ, но у меня нет уверенности, что так можно (и как?). В-общем, непонятно, как делать, кроме того, возможно, на момент запуска код linq ничего не будет знать о данной сущности (если например, они добавляются динамически). Если использовать орм LLBLGen, то проблема решается легче, там просто добавляешь или не добавляешь некий фильтр, а уж он сам формирует запрос. Но эта орм недешевое удовольствие и пока ее использование не планируется.
Какова вообще правильная тактика для решения данной задачи? Особенно прошу помочь тех, кто делал что-то подобное.
Спасибо
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.