提供程序未返回一个字符串ProviderManifestToken错误(The provider d

2019-07-29 03:01发布

我试图创建一个使用ASP.Net MVC3,实体框架和MySQL数据库的网络应用程序。

我已经添加下面的代码到我的web.config文件。

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

  </connectionStrings>

我也已经创造了该项目“Contact_Me”“人”的模式,“ContactContext”。 当我尝试创建一个“的ContactController”,包括角色模型和联系上下文,它给了我下面的错误

“无法检索元数据‘Connect_Me.Models.Persons’提供者未返回ProviderManifestToken字符串”

MYSQ&MVC3 SQL连接错误\ ProviderManifestToken但我使用的是MySQL ,这是我的最接近的问题。 但得到的答复并没有解决我的问题。

提前致谢

Answer 1:

我知道这可能是非常基础的一对夫妇你们的,但这种异常也扔在EF是无法找到一个连接字符串使用情况。 如果您-RE在多层应用程序时,确保连接字符串添加到您的客户端应用程序,而不是包含您的数据访问代码的类库。 只是我的2美分。



Answer 2:

当我的SQL Server竟是下来我得到这个错误。 所以,请确保您的SQL Server启动并运行。



Answer 3:

问题是与MySQL连接器/网络。

我以前使用的MySQL连接器/净6.3.5后,我卸载它,并安装了MySQL连接器/净6.5.4的问题是固定的。 你可以找到最新的连接器http://www.mysql.com/products/connector/



Answer 4:

有时候,这个问题的产生是因为sslmode的为好,对我来说,解决办法是添加sslmode =无以连接字符串

我不得不做出一个小的变化,从我的连接字符串

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;" providerName="MySql.Data.MySqlClient" />

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;sslmode=None;" providerName="MySql.Data.MySqlClient" />


Answer 5:

可能是错误的连接的字符串中。 你试图连接到使用上述日志在你的数据库实例。请尝试更改连接字符串

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

使用上面,如果你正在使用SQL Server,否则如果使用的是下面一个SQL Express的使用

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


Answer 6:

即使这是回答,但我已经经历了同样的问题,我的情况下,它是在连接字符串中; 我有部分“集成安全性”时,我真的不应该使用它; 我依靠数据库认证。

我去掉了“集成安全性=真”的一部分,它的工作完美:)



Answer 7:

重新启动计算机为我工作。

虽然此消息显示,我没有找到我的电脑的[Windows 10]以及其中的应用程序部署具有相同配置并运行正常,并有使用同一数据库测试服务器之间的任何差别。 这意味着这个问题可能是没有连接到测试服务器上运行的数据库。

值得一提的是有在重新启动挂起的一些Windows更新。



Answer 8:

如果升级在使用一个项目的EntityFramework引用的NuGet你也可以得到这个错误MySql.Data.Entity (最新版本是6.10.X MySql.Data (最新版本是8.0.X )。 这些版本号应该匹配。 您应该使用MySql.Data.EntityFramework与MySql.Data 8.0版后,与封装MySql.Data.Entity包6.10和之前的版本。

还有在这个博客帖子有很多更多的细节: https://davidsekar.com/asp-net/mysql-error-the-provider-did-not-return-a-providermanifesttoken



文章来源: The provider did not return a ProviderManifestToken string error