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.