EdmMetadata
ist in EF 4.3 Code First-Modellen veraltet, stattdessen wird _MigrationHistory
Tabelle verwendet, um die Kompatibilität zwischen Modell und Datenbank zu überprüfen.
(Beachten Sie, dass die _MigrationHistory Tabelle eine Systemtabelle, wenn möglich gemacht wird. Das bedeutet, dass es sehen Sie die „Systemtabellen“ in SQL Management Studio oder Ihr bevorzugtes Werkzeug erweitern. Möglicherweise müssen)
In EF 4.3 Wenn DbContext mit dem Code First-Ansatz verwendet wird, versucht Database.Create
Code First Migration zu verwenden, um die Datenbank zu erstellen und DDL durchzuführen. Database.Create
führt eine erste automatische Migration für Sie durch. Im Rahmen dieses Prozesses erstellen Migrationen eine Tabelle mit dem Namen _MigrationHistory
und fügen eine Zeile in diese Tabelle ein, die eine komprimierte Version Ihres Code First-Modells enthält. DropCreateDatabaseIfModelChanges Initialisierer verwenden die Database.CompatibleWithModel
-Methode, um zu bestimmen, ob das erste Code-Modell mit dem Modell übereinstimmt, das zum Erstellen der Datenbank verwendet wurde, indem es _MigrationHistory Tabelle überprüft.
http://blog.oneunicorn.com/2012/01/13/ef-4-3-beta-1-what-happened-to-that-edmmetadata-table/
was meinst du mit ‚nicht durch die Beseitigung EdmMetadata Tabelle funktioniert‘? DropCreateDatabaseIfModelChanges hat immer die gesamte Datenbank gelöscht, wenn ein Unterschied zwischen EdmMetadata und dem code-basierten Schema festgestellt wird. –