Warum erfordert der EF Migrations Add-Migration-Schritt von Entity Framework eine Datenbankverbindungszeichenfolge?

Ich versuche EF Migrations zu benutzen und zu verstehen (mit EF 4.3.1, Code First). Um eine neue Änderung aufzubauen, muss ich einen Befehl wie diesen verwenden:

Add-Migration MyMigration
   -ConnectionString "Data Source=.;Initial Catalog=mydb;" 
   -ConnectionProviderName "System.Data.SqlClient"
   -StartUpProjectName MyWebsite 
   -ProjectName MyEF.Migrations

Warum benötigt Add-Migration Verbindungsdaten?Update-Database braucht eine, das macht Sinn. Aber hat Add-Migration nicht alles, was es braucht, aus dem DbContext und der Konfiguration?

Es ist kein Wunder, dass es nicht einfach ist, eine Datenbank zu erstellen. Es ist sehr verwirrend, eine Datenbank zu erstellen, da die gewünschte Datenbank "mandantenfähig" ist und sich von Anforderung zu Anforderung ändern kann, geschweige denn zur statischen Kompilierungszeit. Also wennAdd-Migration Tatsächlich wird diese Datenbank für alles verwendet, wir haben ein Problem.

UPDATE: Wir haben EF Migrations aufgegeben und verwendenFließender Migrator stattdessen und sind glücklich. Es ist viel, viel schneller, selbst wenn man die Tatsache berücksichtigt, dass wir einige Dinge zweimal schreiben müssen (einmal für das EF-Objekt und einmal für die Migration), und es gibt keine Probleme, die in dieser Frage diskutiert werden.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage