Dlaczego krok migracji Migracje EF Entity Framework wymaga ciąg połączenia bazy danych?

Próbuję użyć i zrozumieć Migracje EF (używając EF 4.3.1, Code First). Aby rusztować nową zmianę, muszę użyć polecenia takiego jak to:

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

Dlaczego Add-Migration wymaga danych ciągu połączenia?Update-Database potrzebuje jednego, to ma sens. Ale czy Add-Migration nie ma wszystkiego, czego potrzebuje z DbContext i konfiguracji?

Nie jest to po prostu bezużyteczne zastanawianie się, bardzo mylące jest nadawanie mu bazy danych, ponieważ mamy do czynienia z „multi-tenancy”, gdzie pożądana baza danych jest elastyczna i może zmieniać się z żądania na żądanie, nie mówiąc już o czasie kompilacji statycznej. Więc jeśliAdd-Migration faktycznie używa tej bazy danych do wszystkiego, mamy problem.

UPDATE: Zrezygnowaliśmy z EF Migrations i używamyFluent Migrator zamiast tego i są szczęśliwi. Jest dużo, dużo szybciej, nawet licząc fakt, że musimy napisać kilka rzeczy dwa razy (raz dla obiektu EF i raz dla Migracji) i nie ma problemów omawianych w tym pytaniu.

questionAnswers(4)

yourAnswerToTheQuestion