【发布时间】:2019-05-22 02:17:08
【问题描述】:
我在一个 dot net core 应用程序中更新了我的依赖项,看起来 ef 库中的某些内容发生了变化,因为在 modelBuilder.Entity<MyEntity>.ToTable('EntityTable'); 下不再解析表
更新的库(来自 git track)
-<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.4"/>
-<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.4"/>
-<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.4"/>
-<PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3"/>
++<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" />
++<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.2.0" />
++<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.0" />
++<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.0" />
++<PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
当我一一更新它们时,问题出现在这 2 个之后(其中任何一个在更新时都会导致 DbContext 中的错误)
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.0" />
作为修复的尝试,我也安装了 Microsoft.EntityFrameworkCore.Relational,但它没有修复它。
我的上下文如下所示:
using Itb.Database.Entities;
using Microsoft.EntityFrameworkCore;
namespace Itb.Database.Context
{
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions options) : base(options)
{
}
public DbSet<ApprovedMember> ApprovedMembers { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApprovedMember>().ToTable("ApprovedMember");
}
}
}
我有 dotnet --version = 2.2.101(目前最新)
希望你能帮我解决这个问题:)
谢谢!
作为已解决的部门的部门 Deps from proj
【问题讨论】:
-
这段代码没有问题。你试过
dotnet restore吗?甚至只是重新启动 Visual Studio?命令行中的dotnet build是否有效? -
@DavidG 尝试恢复 + 构建。重新启动 JetBrains Rider(我不使用 vs)+ 缓存重置/清除。不知道还能做什么:))
-
而
dotnet build给你同样的错误?还有其他警告吗?如果您恢复上面所做的更改,是否可以解决问题? -
@DavidG。刚刚在VS中打开项目,错误也在那里,但更明确一点,但我仍然不明白出了什么问题。 “EntityTypeBuilder
”不包含“ToTable”的定义,并且找不到接受“EntityTypeBuilder ”类型的第一个参数的扩展方法“ToTable”(您是否缺少 using 指令或程序集引用?) -
那么我很确定你没有提到
Microsoft.EntityFrameworkCore.Relational。你能检查它存在并正确解析吗?
标签: .net entity-framework .net-core entity-framework-core ef-core-2.2