Веб-приложение NHibernate - Управление пользовательскими настройками
-
20-09-2019 - |
Вопрос
У меня есть веб-приложение с уровнем доступа к данным NHibernate.У меня есть большое количество пользовательских настроек, которые можно сохранить, в основном это логические значения, например, регистрирующие, что диалоговое окно было отклонено и его не следует показывать снова.
Проблема в том, что с NHibernate мне нужно добавить в мою схему базы данных и добавлять свойство к постоянному классу каждый раз, когда добавляется новое диалоговое окно, чтобы зарегистрировать, было ли оно отклонено или нет.
Должен быть более простой способ.Что это такое?
Решение
Другой вариант - прочитать это Публикация по Ayende, в основном допускающий динамические поля
Общей темой во многих приложениях является необходимость поддержки пользовательских / динамических полей.Другими словами, система администратор может решить, что Клиенту необходимо иметь несколько дополнительных полей которые не являются частью основной линии разработка.
Также прочитайте последний комментарий Айенде
- Вы можете поместить коллекцию в динамическое свойство.
- Вы можете отредактировать конфигурацию программным путем
Редактировать По какой-то причине я только что понял, что ответил на этот вопрос, которому больше года!Понятия не имею, как я сюда попал!Тем не менее, ответ по-прежнему хорош
Другие советы
Вы могли бы использовать таблицу настроек для хранения настроек и добавления значения для каждого диалогового окна:
Настройки таблицы Идентификатор, идентификатор пользователя, имя набора, значение
1, 1, FirstDialog, Истина
2, 1, SecondDialog, Ложный
3, 2, FirstDialog, Ложный
4, 2, SecondDialog, Ложный