VS 2017 + EF6 + MySQL5.7 建立实体模型闪退问题
前记
最近有用到 MySQL 的空间数据这一块。
对于这一块的数据类型,在 .NET 里怎么用不是很清楚。
于是想到看看 EF 里面是怎么用的。结果新建项目,建立实体模型,总是不成功。
最后经过多次尝试、查阅得以解决。
下面就是具体经过。
失败的经历
具体环境是:VS2017 、.NET Framework 4.6 、MySql.Data.Entity 6.9.12
在这个环境下总是不成功,具体是在这一步闪退,也不报错:
在点击“下一步”后,没有进入到下一步,窗口直接关掉。
考虑有可能是 .NET Framework 问题,更换了其他版本不行;
考虑有可能是 MySql.Data.Entity 问题,更换了几个版本测试也还是不行;
查阅有说是,mysql-connector-net 版本问题,我看了下,自己安装的是:mysql-connector-net-6.9.9,对应的把 MySql.Data.Entity 也换为 6.9.9,同样还是报错。
那这是什么问题?
那是 mysql-connector-net 版本 太低了?有推荐是换成 6.9.10,下载发现官网上面不提供这个版本,其他地方可以下载。
在这里发现一个问题:官网能下载的 mysql-connector-net 版本号和 NuGet 上面的 MySql.Data.Entity 版本号是一一对应的(虽然 NuGet 可以用控制台安装任意版本)
基于这个,开始了下面的实验。
成功一试
上面说到的问题,看了官网 mysql-connector-net 有 6.9.12/6.10.7 可下载,一般最新的不一定好用,那就下载 6.9.12,卸载原先的 6.9.9,安装新的 6.9.12.
这次环境:VS2017 、.NET Framework 4.6 、MySql.Data.Entity 6.9.12(有没有发现和上面一样?)
在这里,建模成功!成功来的这里:
到此,实验完成,也成功了。
个人认为:如果遇到 EF + MySQL建模问题,把 mysql-connector-net 版本和 MySql.Data.Entity 版本一致(其中mysql-connector-net 是官网可以下载的),基本可以解决问题。
最后,就是最开始,想看 EF 中对空间数据格式是怎么处理的,结果都好了,却发现 EF 没有映射空间数据(/(ㄒoㄒ)/~~)。
好吧,也是个坑,填了也好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端