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