Razor Pages SQL Server移除ValidationId后仍报错:无效列名
解决思路
- 排查EF Core模型配置残留
- 检查
FeatureClass实体类,确认无ValidationId属性或[ForeignKey]相关特性(包括注释掉的代码片段) - 查看
DbContext的OnModelCreating方法,删除任何通过Fluent API配置的ValidationId外键关联(比如HasForeignKey("ValidationId")这类代码)
- 检查
- 清理编译与EF元数据缓存
- 删除项目的
bin和obj文件夹,重新生成整个解决方案 - 若使用EF迁移,检查所有迁移文件,删除涉及
ValidationId的列添加/外键配置代码;必要时可删除现有迁移并重新生成(操作前建议备份数据库)
- 删除项目的
- 验证生成的SQL语句
在ToListAsync()调用前添加代码:var sql = _context.FeatureClass.ToQueryString();,输出并检查SQL是否包含ValidationId,确认是EF错误生成查询还是其他问题 - 重启开发环境
关闭IDE和开发服务器(IIS Express/Kestrel),重新启动后再运行项目
内容的提问来源于stack exchange,提问作者Tyler Thrun
相关产品推荐
相关产品推荐

