【发布时间】:2017-10-09 02:06:49
【问题描述】:
我有一个新的 asp.net core 2.0 项目,我试图通过迁移的方式将我的数据库上下文存储到数据库中,现在我通过 NuGet 安装了应该存在的依赖项。
这是我的 DBContext
public class SolitudeDBContext : DbContext
{
public SolitudeDBContext(DbContextOptions options) : base(options) { }
public virtual DbSet<OrderHeader> OrderHeader { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema(schema: SchemaName.Portal);
base.OnModelCreating(modelBuilder);
}
public override int SaveChanges()
{
return base.SaveChanges();
}
}
我存储默认连接的应用设置。
{
"ConnectionStrings": {
"DefaultConnection": "Server=DESKTOP-JHIMUM4\\SQLEXPRESS2014;Database=solitude;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
我一直在用
PM> dotnet ef 迁移添加第一个数据库
但是即使您可以看到以下错误也会引发 参考也安装在模型中我将项目组固定为 出色地。 dotnet:找不到与命令“dotnet-ef”匹配的可执行文件 行:1 字符:1 + dotnet ef 迁移添加 firstDatabase + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (No executable f...and "dotnet-ef":String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError
我的项目文件
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Models\products\" />
<Folder Include="Models\stock\" />
</ItemGroup>
</Project>
二次编辑后的项目:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Models\products\" />
<Folder Include="Models\stock\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
</ItemGroup>
</Project>
【问题讨论】:
-
您在包管理器控制台中,
dotned是command window instruction。或关注this walkthrough。 -
@GertArnold 该指南适用于 .net core 我正在使用 .net core 2 存在差异
标签: c# entity-framework ef-core-2.0