scafford auto生成crud存储库asp.net5

时间:2016-02-06 07:03:54

标签: c# asp.net-core repository-pattern scaffolding

您好我正在使用visual studio 2015,我了解我们可以通过添加新的 scafford 项来生成crud视图控制器和操作。但代码生成并不是很有用,似乎所有数据层都依赖于控制器

所以这是我的问题是用什么方法来使用scafford生成代码,它也生成存储库模式?或者任何提供相同功能的nuget?

对不起。我用Google搜索了几个小时。但仍无法找到解决方案。 :(

由于

enter image description here

2 个答案:

答案 0 :(得分:2)

我同意,这是MVC Core(MVC6)中的一个问题。为了能够使用Add Scaffold Controller,必须在"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中看到你现在想念的向导应该足够了。

为了能够在命令行界面中使用脚手架(例如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"

"ef": "EntityFramework.Commands"的{​​{1}}部分添加"commands"

在将产品名称从ASP.NET 5更改为ASP.NET Core后,另一个问题是重命名所有包的浮动。 Package" EntityFramework.MicrosoftSqlServer"在版本" 7.0.0-rc1-final"被重命名为" Microsoft.EntityFrameworkCore.SqlServer"在版本" 1.0.0-rc2-16811",包" Microsoft.AspNet.Mvc"在版本" 6.0.0-rc1-final"重命名为" Microsoft.AspNetCore.Mvc"在版本" 1.0.0-rc2-17011"等等(我使用了今天https://www.myget.org/F/aspnetcidev/的最新版本。)

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

答案 1 :(得分:0)

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