Я занимаюсь разработкой приложения с использованием WPF. Шаблон, который я использую для этого, очевидно, MVVM. Также я использую Entity Framework ORM и LINQ-to-Entities для запроса объектов EF.
Мое понимание MVVM состоит в том, что представление не должно иметь никакого кода, и только знание, которое он должен иметь о ViewModel, состоит в том, что ViewModel содержит определенные свойства, с которыми связан View, а также содержит команды для обработки событий представления. , В то время как Модель содержит только код для получения данных из БД.
В моих модельных классах я только что написал функции, которые напрямую запрашивают объекты EF, используя Linq-to-entity. Обработка, которую мне нужно выполнить для данных перед назначением их свойствам в ВМ, присутствует либо в ВМ, либо в классах, присутствующих в проекте ВМ. Просто упомянуть здесь, что у меня есть 3 проекта - View, ViewModel и Model.
Мой вопрос здесь заключается в том, могу ли я сохранить эти функции (которые включают обработку данных из БД) в проекте VM или это должно быть в проекте Model? Если в проекте ViewModel он должен находиться в соответствующей виртуальной машине или в отдельных классах, присутствующих в проекте виртуальной машины?