Обработка значений поиска в базе данных в приложении ASP.NET - PullRequest
2 голосов
/ 20 января 2010

Практически во всех приложениях, над которыми я работал, есть некоторые значения поиска. Например, часто пользователь должен выбрать список языков (английский, французский и т. Д.) В веб-форме.

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

enum Language : int { English = 1, French = 2}

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

Полагаю, это очень распространенный сценарий, просто интересно, как вы, ребята, справляетесь с этим типом значений поиска.

Спасибо,

Ответы [ 3 ]

1 голос
/ 20 января 2010

Я обычно в любом случае помещаю их в базу данных, потому что вы никогда не знаете, когда и когда они должны будут измениться. Были времена, когда - по замыслу - я знаю, что список не изменится, и для них я буду использовать перечисления. Во всех остальных случаях я буду использовать таблицу базы данных.

0 голосов
/ 20 января 2010

Вы можете воспользоваться шаблонами T4.Я еще не использовал их, потому что у нас не было требований для удовлетворения потребностей, но я хотел бы использовать их в конечном итоге.

Вот отличная статья для генерации перечислений из таблицы базы данных (кодтрудно читать на странице, в конце статьи есть ссылка на источник): http://www.thecodejunkie.com/2008/11/generate-enums-from-database-using-text.html

Также у Скотта Хансельмана есть список замечательных шаблонов T4статьи в его блоге.

Шаблоны T4 на MSDN

0 голосов
/ 20 января 2010

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

Хотя, у меня есть много промежуточных данных аналогичного характера, которые требуют регулярного обслуживания. Проще поместить это в базу данных, потому что, по крайней мере, тогда вы можете создать небольшое приложение для обслуживания. Если вы поместите их в перечисление, вам придется перекомпилировать и повторно развернуть.

Я столкнулся с похожей проблемой с файлами ресурсов. Поскольку файлы ресурсов скомпилированы, они требуют повторного развертывания.

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