這個問題遇到好幾次了,本地調試,windows服務器部署的時候都有遇到,記錄一下吧。
1-首先我們EF訪問mysql的時候要添加相應的ADO Provider(MySql.Data, Mysql.Data.Entity)注意nuget添加的時候,下面兩個包的版本要一致,否則會報一些奇怪的錯誤。

2- 在我們web.config里面添加如下配置段 。

<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
特別注意:拷貝上面配置文件的時候一定要注意修改下Mysql.Data 的版本,和你自己的nuget版本一致,否則程序啟動時會因找不到程序集而報錯

OK,完事~
