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

EF Core 7.0出现SqlException:无效对象名'NewTableReqs'求助

解决EF Core 7.0中"Invalid object name 'NewTableReqs'"错误

常见原因及修复方案

  • 表名映射不匹配
    EF Core默认会将DbSet<T>的名称(这里是NewTableReqs)作为数据库表名,若你的实际表名是单数NewTableReq或其他名称,就会触发该错误。可通过两种方式修正:

    1. 数据注解指定表名:在Model类上添加[Table]特性
      namespace Project.Models
      {
          [Table("NewTableReq")] // 替换为数据库中实际的表名
          public class NewTableReq
          {
              [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
              public int NewTableReqID { get; set; }
              [Required]
              public int FlagID { get; set; }
          } 
      }
      
    2. Fluent API配置:在DbContext的OnModelCreating方法中定义表名
      protected override void OnModelCreating(ModelBuilder modelBuilder)
      {
          modelBuilder.Entity<NewTableReq>().ToTable("NewTableReq"); // 替换为实际表名
      }
      
  • 数据库架构不匹配
    若表存在于非默认架构(如不是dbo),需明确指定架构:

    • 数据注解:[Table("NewTableReq", Schema = "YourSchemaName")]
    • Fluent API:modelBuilder.Entity<NewTableReq>().ToTable("NewTableReq", "YourSchemaName");
  • DbContext连接配置错误
    确认DbContext的连接字符串指向的是正确的数据库,可通过数据库管理工具(如SSMS)验证目标表是否存在于该库中,且名称拼写完全一致。

  • 迁移未正确执行
    若通过EF迁移创建表,可能迁移未生效。重新执行迁移命令:

    Add-Migration CorrectTableName
    Update-Database
    

内容的提问来源于stack exchange,提问作者FullStack-.NetMVC-BizMule-Dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:47:38