Asp.Net EF訪問Mysql數據庫報錯:No Entity Framework provider found for the ADO.NET provider with invariant name 'MySql.Data.MySqlClient'.


這個問題遇到好幾次了,本地調試,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,完事~

 


免責聲明!

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



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