【发布时间】:2018-11-21 05:29:33
【问题描述】:
在 linux bash 中发出以下命令时,
dotnet ef dbcontext scaffold "Server=192.168.1.5\MSSQLSERVER2017;Database=TestDb;User Id=test;Password=test@987" Microsoft.EntityFrameworkCore.SqlServer -o Models --context AppDbContext -t solid
我收到此错误消息:
Unrecognized command or argument 'Microsoft.EntityFrameworkCore.SqlServer'
我发现它是由命令中“用户 ID”中的空格引起的问题,因为当我删除空格时,我会收到此消息。
Keyword not supported: 'userid'
我尝试了很多组合,例如放置 User\ Id、'User Id'、“User Id”、User" "Id 以及我在互联网上找到的更多组合,但我仍然坚持这一点。我该如何解决这个问题?
我的 EF 版本:
Entity Framework Core .NET Command-line Tools
2.1.4-rtm-31024
我的 dotnet 版本:
.NET Core SDK (reflecting any global.json):
Version: 2.1.500
Commit: b68b931422
Runtime Environment:
OS Name: arch
OS Version:
OS Platform: Linux
RID: arch-x64
Base Path: /opt/dotnet/sdk/2.1.500/
Host (useful for support):
Version: 2.1.6
Commit: 3f4f8eebd8
.NET Core SDKs installed:
2.1.500 [/opt/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.NETCore.App 2.1.6 [/opt/dotnet/shared/Microsoft.NETCore.App]
附:我已经在项目中添加了“Microsoft.EntityFrameworkCore.Design”包。
【问题讨论】:
-
你找到解决办法了吗?
-
您是直接在终端上运行命令还是通过 *.sh 文件运行命令?因为这个问题发生在我通过 *.sh 文件发出
dotnet ef dbcontext scaffold时。我通过将整个命令存储在一个变量中并使用eval成功运行它来解决它。
标签: bash entity-framework-core asp.net-core-2.0