这个问题遇到好几次了,本地调试,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,完事~