NetCore 5.0连接MySql

记 NetCore 5.0+ 连接MySql数据库趟过的坑

嘿!有坑!

最近需要为调度算法写一个WebApi接口,咦!这个有底货呀,改一改就可以了,抽出点时间可以把它分层,这样以后多个类似项目都可以来用,省事呀…
然而,在新建项目的时候,下拉框里那是多了好几位兄弟啊…(想想我的代码还在2.0时代),好吧(~ _ ~),升级!
在这里插入图片描述
建好项目,把代码复制过来,红杠杠?点掉,生成…噹!大红叉!!!
在这里插入图片描述找到错误列表,Pomelo.EntityFrameworkCore.MySql 3.2.4Microsoft.EntityFrameworkCore 5.0.4的版本不兼容,Pomelo需要(>= 3.1.8 && < 5.0.0)的依赖,但是仔细一看Microsoft.EntityFrameworkCore.Relational 5.0.4已解决,这是什么情况…
在这里插入图片描述
在Nuget里找一找,Pomelo的最高版本就是3.2.4了,微软的官方文档推荐的第三方包怎么会出现这么大的兼容问题…
在这里插入图片描述

找找出处

既然出了版本问题,那这两个东西总要换掉一个,NetCore 5.0那是不想换到低版本了,那么就来看看Pomelo有没有替代方案了,所谓 “冤有头,债有主”,GitHub上看看Pomelo.EntityFrameworkCore.MySql的更新情况,看看大佬怎么说的。

在这里插入图片描述
原来已经有5.0.x的支持了,但是测试版。修改**.csproj**文件的引用,噹!报错了…
在这里插入图片描述
仔细看看,新版本的变化好大,用法不一样了
在这里插入图片描述
改之…

optionsBuilder.UseMySql(_option.ConnectionString,new MySqlServerVersion(new Version(8,0,22)));

总结

在遇到问题的时候,首先是不要慌,明确目标,我这里是需要使用EF Core连接MySql数据库,看了微软推荐的Pomelo,本着兼容性问题,一直在Pomelo方向找办法,如果是尝试其他组件,涉及到不熟悉的方面可能会有更多的弯路需要走,这次也是幸运的,正好能解决,有时候官方推荐的也是个坑(微软常干这事,放弃维护)。

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值