我有一个首先使用数据库构建的网站,我正在尝试在mac上继续开发它。通常我会使用Visual Studio中的控制台包管理器运行Scaffold-dbContext。 mac版本没有这个我尝试在终端中运行它,但这显然不起作用。是否可以运行此命令,还是需要在Windows上继续开发?
答案 0 :(得分:5)
完成here找到的一些必要步骤后,您可以从终端运行命令:
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
&#13;
dotnet add package Microsoft.EntityFrameworkCore.Design
3.Execute
dotnet restore
您现在应该能够使用以下命令进行脚手架:
dotnet ef dbcontext scaffold --help
答案 1 :(得分:3)
这是在Visual Studio Mac上对我有用的代码
使用Visual Studio Mac编辑项目上的引用安装以下软件包,或将软件包添加到.csproj文件。
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.VisualStudio.Web.CodeGeneration.Design
或使用终端导航到项目并使用以下命令-
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
现在检查工具和EF是否已安装。导航到项目安装位置,并通过以下命令使用mac terminal。它应该显示实体框架详细信息
dotnet ef
现在支持数据库上下文
dotnet ef dbcontext Scaffold "Server=<servername>,1433;Initial Catalog=<dbName>;Persist Security Info=False;User ID=<userID>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"Microsoft.EntityFrameworkCore.SqlServer -o <directory name>
参考
https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
https://www.learnentityframeworkcore.com/walkthroughs/existing-database
答案 2 :(得分:1)
我挣扎了一段时间后只想发布自己的解决方案。必须将模式字符串分成多个--schema选项。
dotnet ef dbcontext scaffold "Server=<servername>,1433;Initial Catalog=<dbName>;Persist Security Info=False;User ID=<userID>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer --context [context] -f --output-dir [dir] --schema [schema1] --schema [schema2]
答案 3 :(得分:0)
如果即使在安装EntityFrameworkCore之后仍使用.NET Core 3.0.0,则需要运行
dotnet add package Microsoft.EntityFrameworkCore.SqlServer