【问题标题】:Cannot resolve symbol 'ToTable' EF Core 2.2.0无法解析符号“ToTable”EF Core 2.2.0
【发布时间】: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


【解决方案1】:

ToTable 在 Microsoft Entity Framework Core Relational Assembly 下。你需要安装Microsoft.EntityFrameworkCore.Relational

Reference

【讨论】:

  • 已经安装好了。检查 cmets 并阅读整个问题 ;)
  • 你的意思是微软的参考有错吗? :) 您可能会后悔没有对您的解决方案进行三次检查。对不起队友
  • 您使用的是单个程序集吗?还是你有多个?
  • 我的朋友查看随附的屏幕截图。相信我,这不是问题,检查 cmets,我修复了它;)我知道我的声誉很低,但我在 dotnet 和 java 方面也有几年的经验 :)
  • 就我而言,我有一个用于 .Net Framework 4.7.1 的库,并且我有包 EntityFrameworkCore。在安装 Microsoft.EntityFrameworkCore.Relational 包之前,我无法删除该错误。谢谢
猜你喜欢
  • 1970-01-01
  • 2017-08-29
  • 2018-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
相关资源
最近更新 更多