Шаблон модели ASP.NET MVC View - проверка и работа с базой данных - PullRequest
2 голосов
/ 26 ноября 2010

В начале разработки я столкнулся с проблемой, которая называется «несоответствие импеданса между моделью домена и представлением».Чтобы решить эту проблему, я решил использовать шаблон ViewModel - для каждого представления (которое строго типизировано) мы создаем класс viewmodel.Но где находится логика валидации - в классах viewmodel или в наших объектах модели предметной области?И где нам нужно выполнить операции для запроса базы данных - в действии контроллера, а затем заполнить viewmodel или прямо в viewmodel?

Спасибо.

1 Ответ

3 голосов
/ 26 ноября 2010

У вас должна быть логика проверки для модели представления. Это то, что отправляет представление и что должно быть проверено. Что касается заполнения viewmodel, вот как это сделать: написать репозиторий, который запрашивает базу данных и возвращает модели. Затем сопоставьте эти модели с моделями представления ( AutoMapper может помочь вам здесь). Наконец, верните viewmodels в представление. Это также работает наоборот: пользователи помещают некоторые данные в действие контроллера как форма модели представления, которая после проверки сопоставляется с моделью и передается в хранилище для обновления.

В качестве альтернативы аннотациям данных вы можете взглянуть на FluentValidation для проверки моделей представлений. прекрасно интегрируется с ASP.NET MVC.

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