[英]Run Scaffold-DbContext on Visual Studio for Mac
我有一个首先使用数据库构建的站点,我正在尝试在 mac 上继续开发它。 通常我会使用 Visual Studio 中的控制台包管理器运行 Scaffold-dbContext。 mac 版本没有这个我尝试在终端中运行它,但这显然不起作用。 是否可以运行此命令,还是需要在 Windows 上继续开发?
这是在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终端和以下命令。 它应该显示实体框架详细信息
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
你可以完成一些必要的步骤如发现后运行来自终端的命令在这里:
<ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> </ItemGroup>
dotnet 添加包 Microsoft.EntityFrameworkCore.Design
3.执行
dotnet 还原
您现在应该可以使用以下命令搭建脚手架:
dotnet ef dbcontext 脚手架 --help
我只是想在我挣扎了一段时间后发布我的解决方案。 必须将模式字符串分成多个 --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]
如果您在安装 EntityFrameworkCore 后使用 .NET Core 3.0.0,则需要运行
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.