Есть ли общепринятый метод, с помощью которого приложение C # может генерировать список хранимых процедур SQL, которые удовлетворяют определенным критериям? - PullRequest
0 голосов
/ 17 ноября 2018

Программисты,

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

ФОН

Каждый отдельный производственный процесс имеет уникальный целочисленный идентификатор StageID.

Все процессы записывают общую информацию (состояние PASS / FAIL и т. Д.) В таблицу ProcessMaster.

Некоторые процессы записывают дополнительные данные в пользовательские таблицы и используют первичный ключ из ProcessMaster для формирования взаимосвязи.

Я могу написать несколько хранимых процедур для получения данных. Существует стандартная хранимая процедура, которая просто получает ProcessMaster данные на основе StageID. Это работает для всех процессов.

Но на индивидуальной основе я пишу пользовательскую хранимую процедуру для тех процессов, которые имеют дополнительные данные в своих собственных таблицах. В этом случае я выполняю соединение таблиц в хранимой процедуре, чтобы получить стандартные ProcessMaster данные и дополнительные данные.

Примером процесса, который имеет пользовательскую хранимую процедуру, может быть система измерения, которая, помимо хранения данных PASS / FAIL и стандартных ProcessMaster, также сохраняет набор результатов измерений в своей собственной таблице.

ПРОБЛЕМА

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

Если выбранная стадия имеет пользовательские данные ProcessMaster и , я хочу, чтобы была возможность выбрать, включать ли только ProcessMaster или все доступные данные.

ТЕКУЩАЯ ИДЕЯ

Моя текущая идея - использовать некоторые соглашения об именах с хранимыми процедурами. Таким образом, я могу обнаружить их во время выполнения и соответствующим образом обработать в моем приложении C #.

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

SUGGESTIONS

Меня интересуют ответы на концепции программирования от пользователей StackOverflow, которые регулярно взаимодействуют с SQL в своих приложениях. Я что-то пропустил? Есть ли лучший способ достичь этой цели? Например: возможно ли включить метаданные в саму хранимую процедуру, которую я мог бы обнаружить во время выполнения?

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