EF code first - Model compatibility cannot be checked because the database does not contain model metadata

前端 未结 5 912
一向
一向 2020-12-29 16:16

I have enabled automatic migrations. Then, I deleted my whole db. Next, i executed Update-database from command console, and it recreated my db. Then, I started

5条回答
  •  误落风尘
    2020-12-29 16:29

    Here is a detailed description of the possible ways to resolve this which I wrote a while ago...
    (not exactly what you're experiencing, hence not a duplicate per se, but with different scenarios in mind)

    https://stackoverflow.com/a/10255051/417747

    To summarize...

    What works for me is to use Update-Database -Script

    That creates a script with a 'migration difference', which you can manually apply as an SQL script on the target server database (and you should get the right migration table rows inserted etc.).

    If that still doesn't work - you can still do two things...

    a) remove the migration table (target - under system tables) - as per http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx comments in there - that should fail back to previous behavior and if you're certain that your Db-s are the same - it's just going to 'trust you',

    b) as a last resort I used - make a Update-Database -Script of the full schema (e.g. by initializing an empty db which should force a 'full script'), find the INSERT INTO [__MigrationHistory] records, just run those, insert them into the database, and make sure that your databases - and code match,

    that should make things run in sync again.

    if it helps

提交回复
热议问题