9

我有一个首先使用数据库构建的站点,我正在尝试在 Mac 上继续开发它。通常我会使用 Visual Studio 中的控制台包管理器运行 Scaffold-dbContext。mac版没有这个我试过在终端运行它,但这显然不起作用。是否可以运行此命令,还是需要在 Windows 上继续开发? 

4

4 回答 4

14

这是我在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

于 2018-07-26T12:27:46.853 回答
7

您可以在完成此处找到的几个必需步骤后从终端运行命令:

  1. 您需要手动将以下内容添加到您的 *.csproj

<ItemGroup>
  <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>

  1. 执行

dotnet 添加包 Microsoft.EntityFrameworkCore.Design

3.执行

点网还原

您现在应该可以使用以下命令搭建脚手架:

dotnet ef dbcontext 脚手架 --help

于 2017-09-02T16:41:15.247 回答
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]
于 2019-10-02T18:08:50.563 回答
0

如果您在安装 EntityFrameworkCore 之后使用 .NET Core 3.0.0,您将需要运行

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

于 2019-11-02T04:28:36.810 回答