Yan*_*ins 4 macos entity-framework-core asp.net-core-mvc visual-studio-code asp.net-core
我使用VS Code和ASP.NET Core MVC在Mac上启动了一个项目,这是我的csproj:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.3.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我总是得到"找不到匹配命令的可执行文件"dotnet-ef""
我在Windows 10上尝试过,我得到了相同的结果.
我错过了什么?
Yan*_*ins 11
添加此项以使其工作:
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version = "1.0.0"/>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
从包含csproj文件的文件夹内部,将以下内容添加到csproj文件中:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeFrameworkVersion>2.0.5</RuntimeFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)现在,通过执行以下命令来包含所需的依赖项:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools.DotNet
还原项目,以便检查所有依赖项
dotnet restore
为了确保一切正常,请运行以下命令
dotnet ef
。dotnet ef出现带有基本命令用法的屏幕
检查项目是否仍在构建中:
dotnet build
使用以下命令从数据库生成支架:
dotnet ef dbcontext scaffold "Server=<your_server_address[,port_number]>;Initial Catalog=<your_db>;User Id=<your_user>;Password=<your_password>" Microsoft.EntityFrameworkCore.SqlServer -f -c YourDbContext -o Db --json
上面的命令可以描述为负责读出数据库并生成脚手架poco实体类和dbcontext文件的命令。它需要一个基本的工作连接字符串,该参数f强制覆盖,c为上下文提供名称,o确定所创建类的输出文件夹和名称空间,并且该json参数将命令结果以json而不是零粗壮的形式输出。
最好保留此命令,以便在必须将数据库中的更改反映到ORM时使用
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |