为了一个新项目,我一直在尝试Entity Framework7和ASP.NET 5,但我遇到了障碍。我所在的团队使用DBA优先的方法进行开发;即数据库由DBA设计,然后开发人员修改代码以补偿模型更改。
使用EF6,这可以很好地工作,因为我们可以使用EDMX designer的“更新”功能来更新代码。只需单击一下,我们就可以获得新的类,然后我们就完成了。然而,在EF7中,一切都不同。没有更多的设计器,我们应该使用Code-First,根据EF团队发布的一些博客文章,它也应该支持"Database-First“代码生成。
然而,我不知道如何在ASP.NET 5应用程序中使用Visual Studio2015 CTP6来做到这一点。工具支持还在吗,还是我不走运?它到底会不会来呢?
发布于 2015-03-27 21:04:00
在最新版本中,可以使用dnx命令提示符和PowerShell命令执行此操作,是
Scaffold-DbContext '<connectionString>' EntityFramework.MicrosoftSqlServer或
dnx ef dbcontext scaffold "<connectionString>" EntityFramework.MicrosoftSqlServer或(来自EF核心RC2)
dotnet ef dbcontext scaffold "<connectionString>" Microsoft.EntityFrameworkCore.SqlServer您必须安装Microsoft.EntityFrameworkCore.Tools软件包,命令才能正常工作。
发布于 2015-10-29 00:52:27
这可以使用NuGet包管理器控制台或命令提示符来完成。我尝试使用命令提示符。在命令提示符中导航到项目文件夹后,我使用了类似的命令:
dnx ef dbcontext scaffold "Data Source=myServerName; Initial Catalog=myDatabaseName; Integrated Security=True" EntityFramework.SqlServer我收到有关缺少包的错误:
EntityFramework.Commands
EntityFramework.SqlServer.Design
在继续之前,后跟以下命令:
dnu restore根据project.json文件中提到的框架,所需的实际软件包可能会有所不同。
如果您无法在命令提示符下执行dnx或其他相关命令,请使用另一个答案的注释中提到的THIS链接。
P.S.:这是本文撰写时的当前命令列表,最近一次更新时间为8月21日
发布于 2016-05-25 16:07:33
以下是.NET内核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”意味着任何引用您的程序集的东西都不会将此DLL作为依赖项,因为它只用于工具。
https://stackoverflow.com/questions/29300777
复制相似问题