¿Por qué el paso de Migración EF de Entity Framework requiere una cadena de conexión a la base de datos?
Estoy tratando de usar y entender las Migraciones de EF (usando EF 4.3.1, Código Primero). Para crear un nuevo cambio, tengo que usar un comando como este:
Add-Migration MyMigration
-ConnectionString "Data Source=.;Initial Catalog=mydb;"
-ConnectionProviderName "System.Data.SqlClient"
-StartUpProjectName MyWebsite
-ProjectName MyEF.Migrations
¿Por qué Add-Migration requiere datos de cadena de conexión?Update-Database
Necesita uno, eso tiene sentido. Pero, ¿no tiene Add-Migration todo lo que necesita de DbContext y la Configuración?
No es simplemente una maravilla ociosa, es muy confuso darle una base de datos, porque tenemos una cosa de "tenencia múltiple" en la que la base de datos deseada es flexible y puede cambiar de una solicitud a otra, y mucho menos en tiempo de compilación estática. Así que siAdd-Migration
En realidad estamos UTILIZANDO esa base de datos para cualquier cosa, tenemos un problema.
ACTUALIZACIÓN: Nos dimos por vencidos en las migraciones de EF y estamos usandoMigrador fluido En cambio, y son felices. Es mucho, mucho más rápido, incluso considerando el hecho de que tenemos que escribir algunas cosas dos veces (una para el objeto EF y otra para la migración), y no tiene los problemas que se analizan en esta pregunta.