Управление изменениями модели в представлениях бритвы ASP.NET MVC - PullRequest
0 голосов
/ 13 марта 2012

Я работаю над бизнес-приложением, которое разрабатывается с нуля. Мы решили разработать нашу бизнес-логику с использованием Entity Framework, и, поскольку приложение должно быть доставлено через Интернет, мы выбрали MVC 3 (Razor) для презентации.

Пока все довольно хорошо, но я боюсь, как мне это сделать, если в любое время в будущем нам потребуется изменить наши классы сущностей (например, добавить / удалить поля в бизнес-объектах или добавить больше реляционных объектов и т. Д.). Я знаю, что могу обновить свою модель, выбрав «Обновить модель из базы данных» в Visual Studio (мы используем подход базы данных в первую очередь). В этом случае мне придется отказаться от моих старых видов и сгенерировать новые, или я могу каким-либо образом обновить свои существующие виды.

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

При использовании Editor- или DisplayFor вы можете передать всю модель, и она покажет все свойства модели.

0 голосов
/ 13 марта 2012

Это несколько двусмысленный вопрос, поэтому я расскажу о концепциях MVC

Весь подход MVC - это «разделение проблем», поэтому вы должны иметь возможность буквально изменить свою модель (базу данных, Entity Framework,и т. д.) без обновления ваших контроллеров или представлений.

При этом ответственность вашей модели заключается в возврате данных, требуемых контроллером / представлением.Так что это должно быть последовательным.Таким образом, если ваша модель привязана к представлению, которое возвращает данные x, если это представление обновлено, перемещено на новую платформу и т. Д., И т. Д., То модель все равно должна возвращать ту же основную информацию (чтобы она продолжала работать с существующими представлениями)./controllers).

Если вы сначала используете код, то вы должны иметь возможность генерировать любые необходимые представления БД и т. д. на новой БД, при условии, что эта БД поддерживает код первого поколения (так что, в основном, MS-SQL я считаю)

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