Visual Studio 2015创建MySQL的ADO Entity Framework遇窗口自动关闭问题
解决MySQL + ADO Entity Framework 向导闪退问题
我之前也碰到过一模一样的坑!折腾了好一阵才搞定,给你几个亲测有效的排查和解决方法:
严格对齐版本兼容性
MySQL的连接器、EF版本、VS版本必须完全匹配,这是最容易踩的雷!比如你用EF6的话,MySql.Data、MySql.Data.Entity的主版本号必须和EntityFramework一致(比如都是6.x系列)。打开NuGet包管理器,检查这三个包的版本,把不匹配的卸载后重新安装对应版本。手动配置EF提供程序
可视化向导有时候会抽风,直接改配置文件反而更靠谱。打开项目的App.config或Web.config,添加以下配置:<!-- 配置EF提供程序 --> <entityFramework> <providers> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> </providers> </entityFramework> <!-- 配置DbProviderFactories --> <system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient" /> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /> </DbProviderFactories> </system.data>修复MySQL VS扩展
有时候扩展安装不完整会导致向导崩溃。先卸载MySQL的Visual Studio扩展,重启VS后,去MySQL官方下载对应你VS版本的扩展重新安装,别用第三方源的版本。清理缓存重置环境
VS的缓存和项目缓存可能搞事情:- 关闭所有VS窗口
- 删除项目目录下的
bin、obj文件夹 - 删除VS缓存目录(比如
C:\Users\[你的用户名]\AppData\Local\Microsoft\VisualStudio\[你的VS版本号]\ComponentModelCache) - 重启VS后再尝试向导操作
跳过向导,用命令行生成
如果以上方法都没用,直接用Package Manager Console生成实体类:Scaffold-DbContext "server=你的服务器地址;database=你的数据库名;uid=用户名;pwd=密码;" MySql.Data.EntityFramework -OutputDir Models -Force这个命令会直接生成所有实体类和DbContext,完全绕开可视化向导的问题。
内容的提问来源于stack exchange,提问作者Claudio Scabbia Sepúlveda
相关产品推荐
相关产品推荐

