Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
953 views
in Technique[技术] by (71.8m points)

entity framework - stuck in EF migration limbo

i have somehow gotten my EF5 project into a state where I can't proceed.

When I do an 'update-database' i get:

Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration. You can use the Add-Migration command to write the pending model changes to a code-based migration.

ok, fine, so i try to 'add-migration', and i get:

Unable to generate an explicit migration because the following explicit migrations are pending: [ ]. Apply the pending explicit migrations before attempting to generate a new explicit migration.

20 GOTO 10 ??

what am i supposed to do at this point? (beyond switching to NHibernate?)

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

What worked for me was:

  1. Reverting all my changes (making a backup first) back to a known good state.
  2. Doing add-migration DummyMigration. That produced some spurious changes that I commented
  3. Called update-database to add the migration + metadata to the [__MigrationHistory] table.
  4. Make the changes I needed (from the backup of the code I took earlier).
  5. Do the normal add-migration/update-database.

Not ideal, and would be cool to see if there's a better solution, but that worked for me.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...