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 中是带了的。最好不要去下载这两个库。
我今天下载这两个库一直都是出问题的!
如果成功解决你的问题,请点个赞!如果还不能解决,非常抱歉!
上一篇: 物联网行业试水语音识别“云”平台
推荐阅读
-
MySQL之—使用c3p0与DBCP连接池,造成的MySql 8小时问题的详细代码解决方案
-
Oracle SQL Developer 连接sqlserver/sybase/mysql/db2驱动安装及使用方法
-
使用putty连接 centos7 安装配置 java+tomact+mySQL + nginx(精品)
-
ef和mysql使用(一)
-
PHP的Laravel框架结合MySQL与Redis数据库的使用部署_PHP
-
【C# MySQL】第一回使用C#对MySQL进行操作的心得
-
使用tableau连接MySQL本地服务器
-
可以在JavaScript 里使用PHP连接MySQL吗?
-
基于Linux使用ASP连接MySQL
-
PHP中使用localhost连接Mysql不成功的解决方法_PHP