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ㄒ)/~~)。

好吧,也是个坑,填了也好

posted @   漠里  阅读(1572)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示