Просто начать работу с MVC, давным опытом WebForms.MVC: Контролер знает о постоянстве?
Я не хочу, чтобы украсить мои объекты с помощью ориентированных на UI объектов, таких как «отображаемое имя» или «обязательный», а также многие из них имеют больше методов и свойств, чем я могу представить на виде.
Так что я экспериментирую с ViewModels, которые обертывают или другими способами взаимодействуют с реальными объектами в моей системе. Мне не нравится, как контроллер должен знать, чтобы запросить репозиторий, а затем создать экземпляр ViewModel, чтобы обернуть объект, который он получил.
Что лучше всего подходит для управления контроллером с помощью ViewModels без необходимости знать, как они сохраняются? Все примеры, которые я вижу, напрямую связаны с EntityFramework или другими ORM.
Я думал о статических методах в классах ViewModel, которые принимают ссылку IRepository и идентификатор для загрузки и возврата ViewModel. Имеет ли это смысл?
Как лучше всего контролировать контроллер, чтобы узнать, как ViewModels связаны с объектами, и получить объект из ViewModel для его сохранения? – n8wrl
Да, задача контроллера - получить данные и передать их в представление. Взгляд только знает о моделях. Вы не хотите, чтобы модель выполняла эту работу, потому что тогда вы загрязняете то, что предназначено для показа бизнес-логики. Ваши модели должны быть как можно более легкими. – krillgar
Я согласен с тем, что ViewModels тоже не должен знать ... Я думаю, поскольку контроллер управляет представлением модели, имеет смысл знать, откуда взялась эта модель. Спасибо! – n8wrl