准備工具:
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模型並更新數據