c#-8.0 - 即使包含程序集,使用“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>
解决方案
RelationalEntityTypeBuilderExtensions.ToTable的文档将引用Microsoft.EntityFrameworkCore.Relational.dll
作为实现此扩展方法的程序集,因此看起来您需要包含Microsoft.EntityFrameworkCore.Relational NuGet。
推荐阅读
- html - 将图标移动到输入 html 的末尾
- string - 使 String.Contains() 不区分大小写
- ios - 从 iOS 11 中的应用生成 UITouch 事件
- html - 将数字流转换为音频
- linux - shebang 无法在 linux 中运行 bash 脚本
- amazon-web-services - AWS EC2 的 SSH 问题 - 权限被拒绝:公钥
- php - 无法抓取页面上的所有数据,因为 Js 脚本会在您向下滚动时添加数据
- selenium - 使用带有 Artifactory 的 webdrivermanager.properties 文件
- python - 通过与列表比较过滤掉 panda-df 的行
- r - 如何根据索引值提取列表位置