【发布时间】:2013-07-19 18:58:33
【问题描述】:
我有一个包含三个项目的 asp.net mvc 解决方案
- 用户界面 ASP.NET MVC
- POCO My Domain POCO 对象
- Repository 使用实体框架和 t4 生成上下文和 POCO 课程
我希望我的 UI 项目使用 ViewModels 而不是 POCO 类。
我需要分别为 UI 和 Repository 做脚手架(我从存储库脚手架开始,然后自定义一些代码,然后我将脚手架 uicontrollers 视图视图模型)
我在存储库项目中做存储库脚手架,如下所示: 脚手架存储库 -ModelType POCO.User -DbContextType Context 这就像一个魅力
但是在我使用控制器脚手架时的默认 mvcscaffolding 模板中: 脚手架控制器-ModelType POCO.User -ControllerName UsersController -DbContextType Repository.Context -Repository
- 它会检测到用户已经在上下文中,所以会跳过它(这很好)。
- 它将使用 POCO.User 作为模型构建视图(这不是我想要的,我希望它生成 ViewModel 类并使用它)
- 它将生成存储库(这也不好,因为我已经在存储库项目中有我的存储库)
- 它将使用创建的存储库搭建控制器并将 POCO 发送到视图(也不好)
所以我想做这样的事情 脚手架控制器 -ModelType POCO.User -ControllerName UsersController -DbContextType Repository.Context -RepositoryType Repository.UserRepository -GenerateViewModel
这将跳过存储库创建,但在控制器中使用它,从 poco 生成 ViewModel 并使用 automapper 制作映射,并在视图中使用 viewmodel。
感谢任何帮助。 谢谢
【问题讨论】:
标签: repository-pattern t4 asp.net-mvc-scaffolding asp.net-mvc-viewmodel t4scaffolding