The provider did not return a ProviderManifestToke

2020-06-08 02:34发布

I am trying to create a web app using ASP.Net MVC3, Entity Framework and MySQL.

I have added the following code to my Web.Config file.

<connectionStrings>
    <add name="ContactContext" connectionString="server=localhost;database=contacts;uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>

  </connectionStrings>

I also have created "Person" Model , "ContactContext" in the project "Contact_Me". When I try to create a "ContactController" including Person Model and Contact context, it gives me the following error

"Unable to retrieve metadata for "Connect_Me.Models.Persons". The provider did not return a ProviderManifestToken string"

MYSQ & MVC3 SQL connection error \ ProviderManifestToken but I am using MySQL, this is the closest question to mine. But the answer didn't solve my problem.

Thanks in advance

8条回答
虎瘦雄心在
2楼-- · 2020-06-08 02:48

You can also get this error if you upgrade Nuget references in an EntityFramework project that uses MySql.Data.Entity (latest version is 6.10.X) and MySql.Data (latest version is 8.0.X). Those version numbers should match. You should use the MySql.Data.EntityFramework package with MySql.Data version 8.0 and after, and the MySql.Data.Entity package with versions 6.10 and before.

There are a lot more details in this blog post: https://davidsekar.com/asp-net/mysql-error-the-provider-did-not-return-a-providermanifesttoken

查看更多
再贱就再见
3楼-- · 2020-06-08 02:49

May be the error is in your connection string. Have you tried to connect to your DB instance using the above log in. try changing the connection string

connectionString="Data Source=.;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>

use above if you are using sql server, else if you are using sql express use below one

 connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>
查看更多
叼着烟拽天下
4楼-- · 2020-06-08 02:52

I got this error when my sql server was actually down. So, please be sure that your sql server is up and running.

查看更多
兄弟一词,经得起流年.
5楼-- · 2020-06-08 02:56

I know this may be very basic for a couple of you guys, but this exception is also thrown in cases where EF is unable to locate a Connection String to use. If you-re working in a multi-layered application, make sure the connection String is added to your client application, instead of the class library that contains you data access code. Just my 2 cents.

查看更多
孤傲高冷的网名
6楼-- · 2020-06-08 03:00

The problem was with the MySQL connector/Net.

I previously used MySQL connector/Net 6.3.5 and after I uninstalled it and installed MySQL connector/Net 6.5.4 the issue was fixed. You can find latest connectors at http://www.mysql.com/products/connector/

查看更多
姐就是有狂的资本
7楼-- · 2020-06-08 03:02

Restarting the computer worked for me.

While this message was showing, I did not find any differences between my computer [Windows 10] and the test server where the the application was deployed with the same configuration and was working correctly there and using the same database. It means the issue was probably not connected to the database running on the test server.

Worth mentioning is there were some Windows updates pending while restarting.

查看更多
登录 后发表回答