在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'
我找出了这个问题是由命令中"User 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“包。
发布于 2019-03-29 18:34:08
我在Windows上也遇到了同样的问题。
但我使用下面的命令修复了它。
> dotnet ef dbcontext scaffold "Server=.\;Database=YourDatabase;Trusted_Connection=False; User ID=sa; Password=YourPassword;" Microsoft.EntityFrameworkCore.SqlServer -o Model -c "YourDBContext"
在我自己的例子中,我试图找出我之前的命令出了什么问题,我得到了一些答案,尽管它们可能不适用于每个人。
在“
虽然我采取了所有这些步骤,但事实是,我不知道哪一个真正有效,但我可以向你保证,上面的代码运行得很好。不过,你可以看看我在下面找到的一篇文章。https://www.learnentityframeworkcore.com/walkthroughs/existing-database
发布于 2020-10-18 22:27:49
在Linux Mint 20上,我成功地做到了这一点:
dotnet ef dbcontext scaffold 'Server=localhost,1433;Database=MyAPICore;User ID=sa;Password=p4ssw0rd!;' Microsoft.EntityFrameworkCore.SqlServer -o Models -c 'ApiDbContext' -d -f
发布于 2018-11-21 13:38:34
我不熟悉.NET搭建,但我可以告诉您,bash在这里不是您的问题。我相信您在从"User Id“中删除空格时得到的错误是无关的,并且空格正在按预期工作。相反,您会收到SqlServer命令无法识别的错误。这可能是因为它未安装或未正确设置路径/权限。
https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.SqlServer/
https://stackoverflow.com/questions/53405760
复制相似问题