У меня есть решение asp.net mvc с тремя проектами
- Интерфейс ASP.NET MVC
- POCO Объекты POCO "Мой домен"
- Репозиторий с использованием Entity Framework и t4 для создания контекста и классов POCO
Я хочу, чтобы мой проект пользовательского интерфейса использовал ViewModels, а не классы POCO.
Мне нужно сделать скаффолдинг для пользовательского интерфейса и для репозитория независимо (я начну с каркаса репозитория, а затем настрою некоторый код, а затем создам модель представления uicontrollers)
Я создаю леса репозитория в проекте репозитория следующим образом: Репозиторий скаффолдов -ModelType POCO.User -DbContextType Context это работает как шарм
Но в шаблоне mvcscaffolding по умолчанию, когда я использую леса контроллера: scaffold Controller -ModelType POCO.User -ControllerName UsersController -DbContextType Repository.Context -Repository
- Он обнаружит, что пользователь уже находится в контексте, поэтому пропустит его (это хорошо).
- Он будет создавать шаблоны, используя POCO.User в качестве модели (это не то, что я хочу, я хочу, чтобы он генерировал класс ViewModel и использовал его)
- Он сгенерирует репозиторий (это тоже нехорошо, так как у меня уже есть репозиторий в проекте репозитория)
- Он будет формировать контроллер с созданным репозиторием и отправлять POCO в представления (тоже нехорошо)
Итак, я хочу сделать что-то вроде этого эшафота Controller -ModelType POCO.User -ControllerName UsersController -DbContextType Repository.Context -RepositoryType Repository.UserRepository -GenerateViewModel
который будет пропускать создание репозитория, но использовать его в контроллерах, которые генерируют ViewModels из poco и делают mappion, например, с помощью automapper, и используют модель представления в представлении.
Любая помощь, с чего начать, приветствуется. Спасибо