简体   繁体   English

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

[英]Error running code first migration update-database

Im having trouble with my migration to my database and i can't seem to find a answer to the error i am getting 我无法迁移到我的数据库,我似乎找不到我得到的错误的答案

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)'. 

I ran into this same issue and here is how I resolved it. 我遇到了同样的问题,这就是我如何解决它。 I hope this helps someone else. 我希望这有助于其他人。

  1. I deleted Entity Framework from my References and removed the lines from my package.config file(s). 我从我的References中删除了Entity Framework,并从package.config文件中删除了这些行。
  2. Closed Visual Studio and deleted all the EntityFramework DLL files in my project folders 关闭Visual Studio并删除项目文件夹中的所有EntityFramework DLL文件
  3. Opened Visual Studio, then did a Clean and Build 打开Visual Studio,然后执行Clean和Build
  4. Re-install Entity Framework 重新安装实体框架
  5. Did a Clean and Build again 做了一个清洁和再次建立

After that, it was working. 在那之后,它正在运作。

This can also happen if Entity Framework is included in a referenced project but not in the project from where you are initializing the migration. 如果Entity Framework包含在引用的项目中,而不是在初始化迁移的项目中,则也会发生这种情况。 Solution is to include EF in that project as well. 解决方案是在该项目中包含EF。

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

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

I ran into this error when running db.Database.Initialize(true); 运行db.Database.Initialize(true);时遇到此错误db.Database.Initialize(true); . I discovered that my the console app was referencing EF v 6.0, but the project with the DataContext and ModelBuilder were 6.1.3. 我发现我的控制台应用程序引用了EF v 6.0,但是DataContext和ModelBuilder的项目是6.1.3。

The error went away after setting the console app to 6.1.3 to match the others. 将控制台应用程序设置为6.1.3以匹配其他应用程序后,错误消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 代码首次迁移中更新数据库命令出错 - Error in update-database command in code first migration 尝试首先更新数据库代码时出错 - Error on trying to Update-Database code first 实体框架代码优先迁移因更新数据库而失败 - Entity Framework code-first migration fails with update-database 为什么在这种情况下为Update-Database破坏了生成的Code First迁移? - Why is the generated Code First Migration broken for Update-Database in this instance? Update-Database命令在建立与服务器的连接时出错(代码优先迁移) - Update-Database command giving error in establishing connection to the server (Code First Migration) 使用Entity Framework,Code First(POCO)和Code Contracts运行Update-Database时出错 - Error When running Update-Database using Entity Framework, Code First (POCO) and Code Contracts 更新数据库代码首先迁移 ASP.NET MVC 时,ORA-00955 名称已被现有对象错误 - ORA-00955 name is already used by an existing object Error when Update-Database Code First Migration ASP.NET MVC 实体框架代码优先:迁移失败,更新数据库,强制不必要的(?)添加迁移 - Entity Framework code-first: migration fails with update-database, forces unneccessary(?) add-migration 运行更新数据库实体框架时出错2 - Error running update-database entityframeworkcore 2 运行更新数据库时,EF代码优先“字符串或二进制将被截断” - EF Code First “String or binary would be truncated” when running Update-Database
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM