Почему для шага добавления-миграции EF Migrations в Entity Framework требуется строка подключения к базе данных?

Я пытаюсь использовать и понимать миграцию EF (используя 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 и Configuration?

Это не просто праздное удивление, это очень запутанно, чтобы дать ему базу данных, потому что у нас есть «мультитенантность», когда желаемая база данных является гибкой и может изменение от запроса к запросу, не говоря уже о статическом времени компиляции. Поэтому, если Add-Migrationна самом деле ИСПОЛЬЗУЕТ эту базу данных для чего-либо, у нас есть проблема.

ОБНОВЛЕНИЕ: мы отказались от миграции EF и используя Fluent Migratorвместо этого, и довольны.Это намного, намного быстрее, даже с учетом того факта, что мы должны написать некоторые эти ngs дважды (один раз для объекта EF и один раз для миграции), и у него нет проблем, обсуждаемых в этом вопросе.

24
задан Scott Stafford 15 August 2012 в 15:13
поделиться