ASP.NET MVC中从数据库更新model时出现空引用异常问题
解决Visual Studio 17.6升级后EDMX实体更新异常问题
修复步骤
重建TT模板文件
- 先备份项目中的
.edmx、.tt及生成的实体类文件,防止代码丢失。 - 删除项目内的
.tt模板(含model.tt和嵌套的model.Context.tt),同时删掉自动生成的空model.cs和旧实体类文件。 - 右键
.edmx文件,选择添加代码生成项,重新添加对应EF6版本的DbContext生成器模板。 - 保存后重新运行自定义工具,验证实体类是否正常生成。
- 先备份项目中的
升级Entity Framework 6版本
打开NuGet包管理器,将项目中的EF6升级至最新稳定版(推荐6.4.4及以上版本,该版本修复了部分VS2022兼容性问题),升级完成后清理并重建项目。检查EDMX文件XML结构
用文本编辑器打开.edmx文件,排查是否存在损坏的XML节点(比如缺失的实体定义、关联关系节点)。若发现异常,手动修复或从备份文件中替换对应部分,再重新加载项目。重置Visual Studio用户数据
- 关闭所有VS实例,以管理员权限打开命令提示符,执行命令:
devenv /resetuserdata - 重启VS后重新打开项目,尝试更新EDMX实体。
- 关闭所有VS实例,以管理员权限打开命令提示符,执行命令:
禁用VS预览功能
打开VS的工具>选项>环境>预览功能,取消勾选所有已启用的预览功能,重启VS后再操作EDMX更新。部分预览功能可能与EF6代码生成工具存在冲突。
内容的提问来源于stack exchange,提问作者enrico
相关产品推荐
相关产品推荐

