使用EntityFramework6连接MySql数据库(db first方式)
准备工具:
VS2013、MySQL For VisualStudio 1.1.4、Connector/Net 6.8.3(百度网盘里)
程序包管理器执行命令:
Install-Package EntityFramework Install-Package MySql.Data.Entity.EF6Install-Package MySql.Data.Entity -Version 6.9.3
这块已经可以直接Install-Package MySql.Data.Entity -Version 6.9.3
用这个了
此时如果直接添加ado.net实体模型的话是有以下错误的:
注意了:App.config中生成的Provider是有问题的,这时候要手动添加红色线画出的一条:
注意了:下面的这块截图也可以不用了,因为你使用Install-Package MySql.Data.Entity -Version 6.9.3
可以自己生成了
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
这样最好先编译一下。
然后开始添加ADO.NET实体模型了
然后就是和以前的一样了。
被这个问题折磨了很久,记录下来备忘。希望能帮得到跟我一样的你!
2017-06-14 vs2017 mysql5.7.18 ef6.1.3 mysql.data.entity6.9.9
最新版vs2017连接mysql5.7时出现了这样的一个问题:
EF连接MYSQL 表'TABLEDETAILS'中的列'ISPRIMARYKEY'的值为DBNULL
解决方法如下:
1、重启mysqld(一般为mysql57)服务
2、use mydb; (mydb是你要dbfirst的数据库)set global optimizer_switch='derived_merge=OFF';
3、重新新增edmx模型并更新数据
-------------------------------------------------
保持专注,只做一件事,做好这件事!@
-------------------------------------------------