【问题标题】:Entity Framework Code First Migrations实体框架代码优先迁移
【发布时间】:2013-12-29 02:24:35
【问题描述】:

在运行以下命令时

pm> Update-Database

出现以下错误

System.Reflection.TargetInvocationException:调用的目标已抛出异常。 ---> System.TypeInitializationException:类型初始化程序 'System.Data.Entity.SqlServer.SqlProviderServices' 引发异常。 ---> System.TypeLoadException:“System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy”类型中的方法“ExecuteAsync”来自 程序集 'EntityFramework.SqlServer,版本 = 6.0.0.0,文化 = 中性, PublicKeyToken=b77a5c561934e089' 没有实现。

【问题讨论】:

  • 这可能会有所帮助,stackoverflow.com/questions/17572705/…
  • 您的解决方案中的所有项目是否都引用相同的实体框架版本?您是否进行了干净且完整的重建?是什么导致了这个错误,它之前是否有效,您是否进行了任何更改?

标签: c# asp.net-mvc-4 entity-framework-migrations entity-framework-6


【解决方案1】:

您的 EF 版本和项目版本不相等。 您的实体框架是 .Net 4 的第 6 版,但您的项目使用 .net 4.5 .net 4.5 版本的项目必须使用 EF for .Net4.5

【讨论】:

  • 我在 app.config 中没有发现任何问题,但这是解决方案: - 卸载实体框架 - 重新安装实体框架
  • 其实就算你像我现在用的6.1.3这样的新版本ef,还是会在错误信息中说6.0.0.0版本。
【解决方案2】:

我遇到了同样的问题(EF 6.1.3 和 net462),我尝试了所有答案,但没有解决问题。当我最终切换到 Release 配置时,它发挥了作用。

不确定 Debug 出了什么问题,因为它们几乎相同,除了调试跟踪等。

希望这对未来的其他人有所帮助。

【讨论】:

    【解决方案3】:

    不是理想的解决方案,但我切换回Entity Framework 5.0.0,问题就消失了。发现这个有用的link

    【讨论】:

      【解决方案4】:

      您好,我遇到了类似的问题。很长一段时间后,我发现一个项目引用了实体框架版本 6.1.1,而另一个项目版本 6.1.3 在同一个解决方案中被引用。我从包管理器控制台中删除了 6.1.3。问题终于解决了。

      希望这会对某人有所帮助

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题。在花了几个小时来解决这个问题后。解决问题的是:我关闭了项目,创建了一个同名的新项目,将我创建的文件夹和类复制到新项目中,并通过 nuget 下载了我需要的包。然后添加迁移......之后一切顺利。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-10-31
          • 2013-01-02
          • 1970-01-01
          • 1970-01-01
          • 2013-09-16
          相关资源
          最近更新 更多