Ron*_*ton 54 c# sql-server entity-framework-core asp.net-core
我一直在玩Entity Framework 7和ASP.NET 5来处理我正在开发的新项目,但我遇到了障碍.我正在研究的团队使用DBA优先的方法进行开发; 即数据库由DBA设计,然后开发人员更改代码以补偿模型更改.
使用EF6,这很有效,因为我们可以使用EDMX设计器的"更新"功能更新代码.点击一下,我们就可以获得新课程了,我们已经完成了.但是,在EF7中,一切都不同.没有更多的设计师,我们应该使用Code-First,根据EF团队的一些博客文章,它也应该支持"数据库优先"代码生成.
但是,我无法弄清楚如何在ASP.NET 5应用程序中使用Visual Studio 2015 CTP6执行此操作.工具支持还没有,或者我运气不好?它甚至会出现吗?
Eri*_*kEJ 56
在最新的位中,可以使用dnx命令提示符和PowerShell命令来执行此操作,是的
Scaffold-DbContext '<connectionString>' EntityFramework.MicrosoftSqlServer
Run Code Online (Sandbox Code Playgroud)
要么
dnx ef dbcontext scaffold "<connectionString>" EntityFramework.MicrosoftSqlServer
Run Code Online (Sandbox Code Playgroud)
或(来自EF Core RC2)
dotnet ef dbcontext scaffold "<connectionString>" Microsoft.EntityFrameworkCore.SqlServer
Run Code Online (Sandbox Code Playgroud)
您必须安装该Microsoft.EntityFrameworkCore.Tools程序包才能使该命令生效.
BiL*_*LaL 12
这可以使用NuGet包管理器控制台或命令提示符完成.我尝试使用命令提示符.在命令提示符下导航到项目文件夹后,我使用了类似的命令:
dnx ef dbcontext scaffold "Data Source=myServerName; Initial Catalog=myDatabaseName; Integrated Security=True" EntityFramework.SqlServer
Run Code Online (Sandbox Code Playgroud)
关于丢失的包我有错误:
EntityFramework.Commands
EntityFramework.SqlServer.Design
在继续之前执行此命令:
dnu restore
Run Code Online (Sandbox Code Playgroud)
所需的实际包可能会根据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
Run Code Online (Sandbox Code Playgroud)
请注意,这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"
}
},
Run Code Online (Sandbox Code Playgroud)
注意: 'build'的类型意味着引用程序集的任何内容都不会将此DLL作为依赖项,因为它只需要工具.
| 归档时间: |
|
| 查看次数: |
22219 次 |
| 最近记录: |