• 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,完事~

  • 相关阅读:
    [译]Java例解Interface
    【笔记】2014-01至2014-02
    【笔记】2013-12
    【笔记】2013-10至2013-11
    【笔记】2013-09
    【笔记】2013-08
    【笔记】2013-07
    生活工作中好用的快捷键和小工具(更新)
    Android Studio更新Gradle问题
    gradle构建spring5源码
  • 原文地址:https://www.cnblogs.com/stephenzengx/p/14648475.html
Copyright © 2020-2023  润新知