是否有一个entity framework7数据库优先POCO生成器?

我一直在玩Entity Framework 7和ASP.NET 5来开发一个新的项目,但是我碰到了一个障碍。 我正在开发的团队使用DBA优先的方法进行开发。 即数据库是由DBAdevise的,然后开发者修改代码来补偿模型的变化。

使用EF6,这很好,因为我们可以使用EDMXdevise器的“更新”function来更新代码。 点击一下,我们得到新的课程,我们完成了。 但是,在EF7中,一切都不一样。 没有更多的devise师,我们应该使用Code-First,根据EF团队的博客文章,也应该支持“数据库优先”代码生成。

但是,我无法弄清楚如何在ASP.NET 5应用程序中使用Visual Studio 2015 CTP6来实现这一点。 那里还有工具支持,还是我运气不好? 它甚至到来了吗?

在最新的一点,可以使用dnx命令提示符和powershell命令来做到这一点,是的

Scaffold-DbContext '<connectionString>' EntityFramework.MicrosoftSqlServer 

要么

 dnx ef dbcontext scaffold "<connectionString>" EntityFramework.MicrosoftSqlServer 

或(来自EF Core RC2)

 dotnet ef dbcontext scaffold "<connectionString>" Microsoft.EntityFrameworkCore.SqlServer 

您必须安装要运行的命令的EntityFramework.Commands和EntityFramework.MicrosoftSqlServer.Design包

这可以使用NuGet包pipe理器控制台或命令提示符完成。 我试着用命令提示符。 在命令提示符下导航到项目文件夹后,我使用了一个类似的命令:

 dnx ef dbcontext scaffold "Data Source=myServerName; Initial Catalog=myDatabaseName; Integrated Security=True" EntityFramework.SqlServer 

我有关于丢失的软件包的错误:

EntityFramework.Commands

EntityFramework.SqlServer.Design

继续之前是这个命令:

 dnu restore 

所需的实际包(s)可能会根据您在project.json文件中提到的框架而有所不同。

如果你不能在命令提示符中执行dnx或其他相关的命令,请按照另一个答案的注释中提到的这个链接。

PS :这里是目前的命令列表[在撰写本文时,上次更新8月21日]:

ASP.NET – EntityFramework Wiki – NuGet / DNX命令

这里是.NET Core的RC2的更新参数(2016年5月)

 dotnet ef dbcontext scaffold -c RRStoreContext -o Model "Data Source=(local);Initial Catalog=DBNAME;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer --force 

请注意, Microsoft.EntityFrameworkCore.SqlServer是需要在命令中使用的包的新名称。 我已经添加了force参数来覆盖现有的文件。 “o”参数是输出目录名称。 现在是dotnet而不是dnx

截至目前的版本,你需要在你的project.json中的依赖

 "dependencies": { "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final", "Microsoft.EntityFrameworkCore.Tools": { "type": "build", "version": "1.0.0-preview1-final" } }, 

注意:“构build”types意味着任何引用你的程序集的东西都不会把这个DLL作为一个依赖项,因为它只是用于工具。