使用 "RelationalEntityTypeBuilderExtensions.ToTable" 即使包含程序集也无法编译
Use of "RelationalEntityTypeBuilderExtensions.ToTable" not compiling even though including the assembly
我有以下代码:
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>
documentation for RelationalEntityTypeBuilderExtensions.ToTable references Microsoft.EntityFrameworkCore.Relational.dll
as the assembly implementing this extension method, so it looks like you need to include the Microsoft.EntityFrameworkCore.Relational NuGet。
我有以下代码:
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>
documentation for RelationalEntityTypeBuilderExtensions.ToTable references Microsoft.EntityFrameworkCore.Relational.dll
as the assembly implementing this extension method, so it looks like you need to include the Microsoft.EntityFrameworkCore.Relational NuGet。