Изменение атрибутов модели - добавление или удаление атрибутов - PullRequest
0 голосов
/ 02 апреля 2012

Я работаю над первым веб-приложением с кодом MVC3, и после того, как я показал первую версию своим боссам, они предложили им «запасную» (запасную, как в том, что еще не определено, и мы будем использовать ее на всякий случай он нам понадобится) атрибут в модели Employee.

Мое намерение состоит в том, чтобы найти способ дать им возможность добавлять столько атрибутов к моделям, сколько им потребуется. Очевидно, я не хочу, чтобы они взялись за код и изменили его, а затем развернули его снова (я знаю, что не упомянул о базе данных, это будет еще одной проблемой). Мне нужно решение, которое может добавлять новые атрибуты «на лету».

У кого-нибудь из вас были похожие запросы, и если у вас было какое решение вы нашли / реализовали?

1 Ответ

0 голосов
/ 04 апреля 2012

У меня не было такого запроса, но я могу представить способ получить то, что вы хотите.Я предполагаю, что вы используете Entity Framework из-за вашего тега.

Допустим, у нас есть класс Employee, который мы хотим расширять.Мы можем дать этому классу словарь строк, где тип ключа также является строкой.Затем вы можете легко добавить больше свойств каждому сотруднику.

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

Или как предложено в этом разделе вопросов и ответов ( EF Code First - Словарь карты или пользовательский тип в виде nvarchar ): выможете сохранить содержимое словаря в виде XML в одном столбце таблицы сотрудников.

Это только одно предложение, и было бы неплохо узнать, как вы это решили.

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