You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DbContext中DbSet3查询报无效对象名问题排查与解决

问题:查询DbSet3时提示“对象名DbSet3无效”,其余DbSet查询正常

问题场景

在DbContext中配置了三个DbSet:

internal class MyDbContext: DbContext
{
    internal DbSet<MyType1> DbSet1 { get; set; }
    internal DbSet<MyType2> DbSet2 { get; set; }
    internal DbSet<MyType3> DbSet3 { get; set; }
}

查询DbSet1和DbSet2均正常,但执行以下DbSet3查询时,抛出“对象名DbSet3无效”的错误:

return await _contexto.DbSet3
    .Where(x => x.Id== paramId)
    .ToListAsync();

尝试将DbSet3的类型改为MyType2后,查询可正常执行:

internal DbSet<MyType2> DbSet3 { get; set; }

问题原因

实体类型配置类出现错误:ConfigurationMyType3类错误地实现了IEntityTypeConfiguration<MyType4>,而非对应MyType3的配置,导致EF Core无法正确建立MyType3与数据库表的映射关系,进而查询时找不到对应的表对象。

错误的配置类代码:

internal class ConfigurationMyType3: IEntityTypeConfiguration<MyType4>
{
    public void Configure(EntityTypeBuilder<MyType4> config)
    {
    }
}

解决方案

将配置类的泛型类型修正为MyType3,确保配置与实体类型匹配:

internal class ConfigurationMyType3: IEntityTypeConfiguration<MyType3>
{
    public void Configure(EntityTypeBuilder<MyType3> config)
    {
    }
}

内容的提问来源于stack exchange,提问作者Álvaro García

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:05:09