c# 使用EF框架连接MySql

c# 使用EF连接Mysql 坑可不是一般的多!
第一:有的使用EF模型时出现: 您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库

第二:新建连接时,没有Mysql DataBase 选项。

第三:使用EF模型时闪退。

今天各种问题都遇到了。
下面讲述一下我成功使用EF连接MySql的流程,我这里就演示CodeFirst模式。

我的环境是:
win7 旗舰版 + vs2017 社区版 + .net framework 4.5.2(好像最低要求是这个版本)

第一步: 下载 mysql-for-visualstudio, 要使用EF模型必须要这个。
下载地址
一般下载最新的就可以了,如果要下载历史版本点击Archives选项卡。
我下载的版本是:MySQL for Visual Studio 1.2.9

第二步: 下载 Connector/NET,这个是连接器安装这个才能使EF连接MySql,这个连接器还包含Mysql EF的重要代码, MySql.Data.dll,MySql.Data.EntityFramework(有的版本是MySql.Data.EF6)。 下载的有些低版本是不会在新建连接时出现mysql连接选项的。至于从哪个版本开始可以我就不清楚了,这个跟vs版本有关系。只能一个个去试。
下载地址
我下载的版本是:Connector/NET 8.0.21

第三步:使用NuGet 下载 EntityFramework。(实际上就EntityFramework.dll 这个有用。)
用NuGet下载会在App.config中生成配置, 自己配置就麻烦一些。
我下载的版本是 6.4.4
NuGet 在 工具->NuGet包管理器->管理解决方案的NuGet包。

第四步:添加引用,就是上面Connector/NET安装后得到的dll。应该大家的路径都是一样的。
除了我我选中的三个其他的都添加上,因为libzstd 应该不是c# 连接库,引用报错。另外两个会有警告。
至于其他的MySql.Data.dll,MySql.Data.EntityFramework.dll 肯定是用上的,其他的我就不太清楚了,做完之后可以删除试试。
在这里插入图片描述
第五步:在providers 节点下添加

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework"></provider>

这里要注意了 MySql.Data.EntityFramework 这个不是每个版本都是一样的,它实际上就是 dll的名称。有的MySql.Data.EF6,取决于下载的Connector/NET的版本。

到这里就完成了! 添加实体模型成功!
网上有很多教程是让去下载 MySql.Data 以及 MySql.Data.Entity 这两个库。 实际上 Connector/Net 中是带了的。最好不要去下载这两个库。
我今天下载这两个库一直都是出问题的!
如果成功解决你的问题,请点个赞!如果还不能解决,非常抱歉!

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值