Visual Studio 2019从MySQL更新EntityFramework模型失败如何处理?
MySQL EDMX模型更新报错修复方案
核心错误原因
运行时连接字符串格式错误、MySQL相关组件版本不匹配,导致设计时工具无法识别运行时连接配置。
分步修复操作
第一步:统一组件版本
MySQL for Visual Studio安装包、项目引用的MySql.DataNuGet包、MySql.Data.EntityFrameworkNuGet包三个组件的版本号必须完全一致,禁止出现跨版本混用的情况。如果当前使用8.x版本存在兼容问题,推荐统一降级到8.0.23版本,该版本对VS2019适配稳定性最高。第二步:修正配置文件
打开项目的App.config(桌面项目)或Web.config(Web项目),修改两处配置:- 修正连接字符串,删除原有字符串中
user id= root的多余空格、末尾多余的单引号,确保provider配置正确,配置示例如下:
<connectionStrings> <add name="mydbcontextEntities" connectionString="metadata=res://*/mydbcontext.csdl|res://*/mydbcontext.ssdl|res://*/mydbcontext.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;port=3306;database=annotation-web;user id=root;password=12345678;persistsecurityinfo=True"" providerName="System.Data.EntityClient" /> </connectionStrings>- 确认entityFramework节点下已添加MySQL提供程序注册:
<entityFramework> <providers> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework" /> </providers> </entityFramework>- 修正连接字符串,删除原有字符串中
第三步:清理缓存
- 关闭所有VS2019窗口,删除路径
%LOCALAPPDATA%\Microsoft\VisualStudio\16.0_*\ComponentModelCache下的所有文件 - 打开项目根目录,删除
bin、obj文件夹和.vs隐藏文件夹
- 关闭所有VS2019窗口,删除路径
第四步:重新建立连接
- 重启VS2019打开项目,进入服务器资源管理器,删除原有MySQL数据连接,重新创建新的MySQL连接
- 输入数据库参数测试连接成功后保存,再尝试执行EDMX的「从数据库更新模型」操作即可。
内容的提问来源于stack exchange,提问作者Melika Taghyoon
相关产品推荐
相关产品推荐

