Лучший способ выявить динамический SQL-запрос - PullRequest
0 голосов
/ 12 октября 2018

Я изучаю возможность рефакторинга решения для скрининга («скринер» - это вид очень гибкой и настраиваемой фильтрации, которую поддерживают такие сайты, как Amazon, Newegg или Revzilla).

В настоящее время скрины заполняются в виде таблиц с несколькими сотнями столбцов, и у нас есть старое приложение на C #, которое отвечает за форматирование и экранирование сериализованного представления аргументов запроса в строку динамического SQL, которая затем передаетсяв процедуру, которая будет выполнена и получить отфильтрованные данные.Решение отлично работает для всех точных совпадений, но, не вдаваясь в подробности, не удалось избежать подстановочных поисков способом, который был бы достаточно гибким для наших целей.

Но, изучая его рефакторинг, я понимаю, что 'Я не совсем уверен, что лучший подход к этому.Первой мыслью было то, чтобы приложение C # создало параметризованный запрос.Затем я мог бы добавить к команде произвольное количество SqlParameter объектов и использовать старые добрые quotename() и sp_executesql.Но это все еще кажется счастливым.Набор данных не велик, поэтому хранение его в памяти и использование linq или чего-то еще казалось жизнеспособным, но я не знаю, как бы вы сделали «динамический linq».

Мой вопрос такой: Существует ли современный, установленный и безопасный шаблон для доступа к такого рода динамическим запросам доступа, или кто-нибудь сделал что-то подобное и успешное, чем он мог бы поделиться со мной?

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