В моем приложении ASP.NET MVC у меня есть довольно сложная страница редактирования, которая объединяет несколько моделей в одном представлении.
Я использую шаблон ViewModel для объединения всей этой информации и представления одного связного объекта в View.
Например, моя структура ViewModel выглядит примерно так:
CompanyId
CompanyName
List<Employee> Employees
List<ContactMethod> ContactMethods
Объект Employee имеет ряд базовых свойств и предпочтительный метод связи.
На странице редактирования пользователю предоставляются все сотрудники компании, и они имеют возможность добавлять и удалять (используя javascript), а также редактировать сведения о сотрудниках. Список ContactMethods используется для заполнения раскрывающегося списка для каждого сотрудника.
Я успешно перевел свои Модели (считанные из базы данных) в эту ViewModel и обратно, поэтому после редактирования у меня остается ViewModel, представляющая текущее состояние сотрудников этой компании.
Я использую шаблон Repository для связи с базой данных, поэтому мой вопрос: мне следует позвонить напрямую в CompanyRepository, передав ViewModel, или мне сначала нужно преобразовать ViewModel обратно в объекты Model перед использованием Репозиторий для записи их в базу данных?
Короче говоря, должен ли репозиторий знать о моих объектах ViewModel?