使用EntityFramework6連接MySql數據庫(db first方式)


准備工具:

VS2013、MySQL For VisualStudio 1.1.4Connector/Net 6.8.3(百度網盤里)

程序包管理器執行命令:

Install-Package EntityFramework
Install-Package MySql.Data.Entity.EF6
Install-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模型並更新數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM