在MVC5中运行更新数据库时出错

本文关键字:数据库 出错 更新 运行 MVC5 | 更新日期: 2023-09-27 18:29:46

我有一个MVC 5应用程序,它的MySQL数据库托管在Azure中。它运行得很好,但今天当我尝试键入更新数据库并运行它时,我收到了以下错误消息:

System.Runtime.Serialization.SerializationException: Type is not resolved for member 'MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'.
   at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
   at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
   at System.Data.Entity.Migrations.Design.ToolingFacade.Update(String targetMigration, Boolean force)
   at System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0()
   at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Type is not resolved for member 'MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'.

问题出在哪里?我该如何解决?

在MVC5中运行更新数据库时出错

我以前遇到过这个问题:

1.-安装一个更新mysql连接器到新版本:http://dev.mysql.com/downloads/connector/net/

2.-因为你试图连接到MySQL的远程安装,所以你必须确保端口是打开的。您可以尝试连接到本地MySQL数据库来验证这一点。

我希望这对你也有用。

以防其他人偶然发现此"成员的类型未解决"错误:

这条消息非常具有误导性,因为它显示的许多问题与您可能从这条消息中假设的内容无关。

大多数时候,我遇到这个消息时,是映射类中的一些代码在执行Seed方法时抛出异常。注意自定义ToString()和GetHashCode()实现。

在这种情况下,VS调试器是您最好的朋友。只需将以下代码添加到Seed()方法中:

   if (System.Diagnostics.Debugger.IsAttached == false)
      System.Diagnostics.Debugger.Launch();

在运行"更新数据库"命令之前,用您的项目启动第二个VS实例,您应该会发现问题所在。