2016-02-06 21 views
2

嗨,我使用的Visual Studio 2015年,我的理解是,我们可以通过添加新scafford项目产生污物视图控制器和行动。但是,代码生成是不是十分有用似乎所有的数据层取决于控制器scafford自动生成CRUD库asp.net5

所以这里上我的问题是达任何方式使用scafford生成的代码也产生存储库模式也?或者提供相同功能的任何nuget?

对不起。我在Google上搜索了几个小时。但仍然找不到解决方案。 :(

感谢

enter image description here

+0

http://www.dotnet-fundamentals.com/2015/10/custom-scaffolding-templates-using。html – romanoza

回答

2

我同意,这是在MVC核心(MVC6)的问题。为了能够使用添加支架控制器开始工作就必须包括在"dependencies"一些附加软件包project.json一部分。如果你使用RC1,那么你应该包括

"Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final", 
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final", 
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final" 

应该足以看出向导在Visual Studio中,其中Y我们现在想念。

为了能够在命令行界面使用脚手架(dnx ef dbcontext scaffold ...为例),你需要添加更多的依赖

"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final", 
"EntityFramework.Relational.Design": "7.0.0-rc1-final" 
"EntityFramework.Commands": "7.0.0-rc1-final" 

添加到的project.json"commands"部分添加"ef": "EntityFramework.Commands"

另外一个问题,从ASP.NET 5改变产品名称,ASP.NET核心后,把所有的包重命名浮动。在版本“7.0.0-rc1-final”中的包“EntityFramework.MicrosoftSqlServer”在版本“1.0.0-rc2-16811”中更名为“Microsoft.EntityFrameworkCore.SqlServer”,包“Microsoft.AspNet.Mvc”版本“6.0.0-rc1-final”在版本“1.0.0-rc2-17011”等中的“Microsoft.AspNetCore.Mvc”中重新命名(我使用了当前最新版本,来自https://www.myget.org/F/aspnetcidev/)。

我建议今天留在RC1上等待重命名过程的结束。我发布了the suggestion,这可以简化现有项目的迁移,但建议未被接受。微软已将RC2和RTM从2月和Q1的日期更改为未知(请参阅待定the official roadmap)。我希望这个问题能够在短时间内得到解决。

+0

谢谢你的回答。我能够通过控制器和视图来遗传粗粒。我的问题是。有什么方法来生成具有响应模式的代码?这意味着代码也将生成与接口的响应。 – user998405

+0

@ user998405:不客气!将生成的代码不使用存储库模式。所有可能的脚手架选项都显示在脚手架对话框中。 – Oleg

0

所以,如果我理解正确的话,你想生成不仅仅是控制器和视图,但可用的脚手架项目不支持更多。如果是这种情况,请查看我的分机T4 Awesome。这是我构建它的原因,我希望能够快速将新文件和文件夹添加到我的项目中,并且能够为每个项目定制这些文件和文件夹。我看着脚手架,但没有提供我期望的快速发展循环。我在我的网站上有videos,显示了如何创建自己的脚手架(跨多个项目的多个项目),这将允许您使用T4和您自己的类,db架构或db数据创建几乎任何您想要的内容。它是一个完全可视化的工具,没有命令行支持,所以如果你需要它,它将无济于事。此外,完全免责声明,我收取这个扩展,但有一个免费的社区版,应该给你足够的功能来做你正在寻找的东西。