Esos artículos son muy claros, por lo que si no comprende la diferencia significa que no se concentró mientras leía el texto y que probablemente tampoco siguió el texto al codificar los ejemplos.
La migración automática es solo una herramienta mágica. Ejecuta su aplicación y siempre obtendrá su base de datos en la última versión porque EF realizará la migración implícita cada vez que sea necesario; en la versión más pura, no necesita hacer nada más que habilitar migraciones automáticas.
Las migraciones automáticas a veces no son suficientes. Necesita agregar alguna personalización al código de migración o ejecutar algunos comandos SQL adicionales, por ejemplo, para transformar datos. En tal caso, agrega una migración explícita basada en código llamando al comando Add-Migration
. La migración explícita muestra todos los códigos de migración que se ejecutarán durante la migración (no hay magia adicional).
Si desactivas las migraciones automáticas, siempre debes definir una migración explícita para definir el proceso de actualización de la base de datos en pasos explícitos bien definidos. Esto es especialmente útil para escenarios en los que necesita usar tanto la actualización como la degradación a una versión específica.
Odio cómo la EM simplemente se apropia del vocabulario. Algunos de nosotros pensamos que "migración de código" significa "convertir código de un idioma/plataforma a otro" y que "migración automática" significa "hacer migración de código automáticamente". –
@IraBaxter me recuerda el tema de contextos delimitados en DDD. http://martinfowler.com/bliki/BoundedContext.html –
Parece que los enlaces ya no funcionan, ¿hay algún artículo actualizado sobre esto? –