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

修改SQL Server数据库后,Entity Data Model Wizard不显示新表怎么办?

解决Entity Framework逆向工程不识别数据库变更的问题

1. 确认连接字符串指向正确的数据库

在Entity Data Model Wizard的连接步骤中,不要直接使用已填充的旧连接字符串,点击New Connection,重新选择SQL Server实例和目标数据库,确保选中的是你修改后的最新数据库。保存新的连接字符串时选择覆盖配置文件中的旧连接。

2. 清理项目与缓存

  • 右键项目选择清理,再执行重新生成,清除旧的编译文件。
  • 删除项目根目录下的bin和obj文件夹,彻底移除旧的生成文件。
  • 关闭Visual Studio 2019,删除以下路径的缓存文件:
    • %LocalAppData%\Microsoft\VisualStudio\16.0_<你的VS标识>\ComponentModelCache
    • %LocalAppData%\Temp中所有VS相关的临时文件

3. 在向导中刷新数据库对象

进入Choose Objects and Settings窗口后,找到窗口上方的Refresh按钮(通常在对象列表的工具栏),点击刷新数据库元数据,此时应该能看到新增的表和存储过程,已删除的对象也会被移除。

4. 使用Package Manager Console命令重新生成(更可靠)

如果向导依然失效,直接用EF的逆向工程命令行工具:

  1. 打开工具 > NuGet包管理器 > 包管理器控制台
  2. 执行以下命令(替换为你的服务器和数据库信息):
Scaffold-DbContext "Server=你的服务器名;Database=你的数据库名;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -Force -OutputDir Models
  • -Force参数会强制覆盖旧的实体类和DbContext文件
  • -OutputDir Models指定生成文件的存放目录(可根据你的项目结构调整)

5. 验证数据库变更是否生效

先用SQL Server Management Studio连接目标数据库,确认新增的表、存储过程已存在,已删除的表确实不存在,排除数据库本身未修改成功的问题。

内容的提问来源于stack exchange,提问作者ramix99

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:05:17