Почему для этапа добавления-миграции EF Migrations в Entity Framework требуется строка подключения к базе данных?
Я пытаюсь использовать и понимать EF Migrations (используя EF 4.3.1, Code First). Чтобы создать новое изменение, я должен использовать такую команду:
Add-Migration MyMigration
-ConnectionString "Data Source=.;Initial Catalog=mydb;"
-ConnectionProviderName "System.Data.SqlClient"
-StartUpProjectName MyWebsite
-ProjectName MyEF.Migrations
Почему Add-Migration требует данные строки подключения?Update-Database
нужен тот, который имеет смысл. Но разве у Add-Migration нет всего, что нужно, от DbContext и Конфигурации?
Это не просто пустое чудо, это очень запутанно, чтобы дать ему базу данных, потому что у нас есть «многопользовательский режим». вещь, где требуемая база данных является гибкой и может меняться от запроса к запросу, не говоря уже о статической компиляции. Так что еслиAdd-Migration
на самом деле использует эту базу данных для чего-либо, у нас есть проблема.
ОБНОВЛЕНИЕ: Мы отказались от EF Migrations и используемСвободный Мигратор вместо этого и счастливы. Это намного, намного быстрее, даже если учесть тот факт, что нам нужно написать несколько вещей дважды (один раз для объекта EF и один раз для миграции), и у него нет проблем, обсуждаемых в этом вопросе.