首页 > 解决方案 > 即使包含程序集,使用“RelationalEntityTypeBuilderExtensions.ToTable”也无法编译

问题描述

我有以下代码:

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

namespace JobAssist.Services.ResumeBankMgmt.Infrastructure.EntityConfigurations
{
    /// <summary>
    /// DBContext Configuration for ClientRequest
    /// </summary>
    internal class ClientRequestEntityTypeConfiguration
        : IEntityTypeConfiguration<ClientRequest>
    {
        /// <summary>
        /// Configuration of entity Client Request
        /// </summary>
        /// <param name="requestConfiguration">ClientRequest</param>
        public void Configure(EntityTypeBuilder<ClientRequest> requestConfiguration)
        {
            requestConfiguration.ToTable("resumebankrequests", ResumeBankContext.DEFAULT_SCHEMA);
            requestConfiguration.HasKey(cr => cr.Id);
            requestConfiguration.Property(cr => cr.Name).IsRequired();
            requestConfiguration.Property(cr => cr.Time).IsRequired();
        }
    }
}

当我编译这个我得到这个错误:

“严重性代码描述项目文件行抑制状态错误 CS1061‘EntityTypeBuilder’不包含‘ToTable’的定义,并且找不到接受‘EntityTypeBuilder’类型的第一个参数的可访问扩展方法‘ToTable’(您是否缺少 using 指令还是程序集参考?)”。

我的项目文件是:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <ApplicationIcon />
    <StartupObject />
  </PropertyGroup>

  <ItemGroup>
    <None Include="..\..\..\..\.editorconfig" Link=".editorconfig" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.2">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.2" />
  </ItemGroup>
</Project>

标签: c#-8.0entity-framework-core-3.1

解决方案


RelationalEntityTypeBuilderExtensions.ToTable的文档将引用Microsoft.EntityFrameworkCore.Relational.dll作为实现此扩展方法的程序集,因此看起来您需要包含Microsoft.EntityFrameworkCore.Relational NuGet。


推荐阅读