Как вы собираетесь писать "динамические sql" фильтры, используя значения строки запроса в ASP.NET MVC? - PullRequest
1 голос
/ 06 июня 2011

Кажется, я просто не могу обдумать эту концепцию ... Я хочу позволить пользователям применять несколько «фильтров» к набору данных (предпочтительно в строке запроса, чтобы сделать закладку для отфильтрованных результатов), полученных с использованием«Инструмент» массивного динамического доступа к данным Роба Конери.

Я мог бы просто написать целую кучу операторов if, а затем написать прямой запрос по каждому «правилу», которое я уловил ... но это, кажется, противоречит цели "dynamic sql ".

Существует ли общий шаблон / рекомендации для этого в C # / ASP.NET MVC?

1 Ответ

1 голос
/ 06 июня 2011

Я думаю, что концепция немного широка, чтобы сказать, что есть образец / лучшая практика для того, чтобы сделать что-то подобное.Тем не менее, я думаю, что использование чего-то вроде LINQ to SQL или Entity Framework сделало бы хороший механизм динамических запросов, потому что вы можете делать что-то вроде этого:LINQ to SQL в этом случае является отложенным выполнением.query не запускается до привязки данных и включает все фильтры, которые вы добавляете динамически.Это также обеспечивает безопасность типов и предотвращает SQL-инъекцию.Вы можете сделать нечто подобное, фактически создав SQL-запрос, который будет выполняться в конце, но он будет подвержен ошибкам и потребует большого количества проверок и противовесов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...