运行代码第一次迁移update-database时出错

我无法迁移到我的数据库,我似乎找不到我得到的错误的答案

 System.MissingMethodException: Method not found: 'System.Data.Entity.Migrations.Builders.TableBuilder`1 System.Data.Entity.Migrations.Builders.TableBuilder`1.Index(System.Linq.Expressions.Expression`1>, Boolean, Boolean, System.Object)'. at Evento.Migrations.initialcreate.Up() at System.Data.Entity.Migrations.DbMigrator.ApplyMigration(DbMigration migration, DbMigration lastMigration) at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ApplyMigration(DbMigration migration, DbMigration lastMigration) at System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId) at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.Upgrade(IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId) at System.Data.Entity.Migrations.DbMigrator.UpdateInternal(String targetMigration) at System.Data.Entity.Migrations.DbMigrator.c__DisplayClassc.b__b() at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) at System.Data.Entity.Migrations.Infrastructure.MigratorBase.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) at System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration) at System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update(String targetMigration) at System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.Run() at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) 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.b__0() at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) Method not found: 'System.Data.Entity.Migrations.Builders.TableBuilder`1 System.Data.Entity.Migrations.Builders.TableBuilder`1.Index(System.Linq.Expressions.Expression`1>, Boolean, Boolean, System.Object)'. 

我遇到了同样的问题,这就是我如何解决它。 我希望这有助于其他人。

  1. 我从我的References中删除了Entity Framework,并从package.config文件中删除了这些行。
  2. 关闭Visual Studio并删除项目文件夹中的所有EntityFramework DLL文件
  3. 打开Visual Studio,然后执行Clean和Build
  4. 重新安装entity framework
  5. 做了一个清洁和再次构建

在那之后,它正在运作。

如果Entity Framework包含在引用的项目中,而不是在初始化迁移的项目中,则也会发生这种情况。 解决方案是在该项目中包含EF。

如果您使用的是EF 6.1,则需要为Visual Studio 2013安装更新2

运行db.Database.Initialize(true);时遇到此错误db.Database.Initialize(true); 。 我发现我的控制台应用程序引用了EF v 6.0,但是DataContext和ModelBuilder的项目是6.1.3。

将控制台应用程序设置为6.1.3以匹配其他应用程序后,错误消失了。

如果使用EF 6.2.0对新的dll运行较旧版本的migrate.exe ,则可能会发生这种情况