Recientemente he estado programando con Entity Framework 4.1 Code First y me encanta su desarrollo, pero con solo un plan final y una lista de características que cambia rápidamente, estoy modificando constantemente la Clase / Base de datos para satisfacer las necesidades de las aplicaciones.
En el desarrollo, no hay datos en vivo y puedo eliminar fácilmente toda la base de datos para que se vuelva a crear con el nuevo esquema, sin embargo, obviamente, en vivo, ¡esto es muy malo!
Las únicas soluciones que puedo ver son soltar la tabla de metadatos y mantener la base de datos sincronizada manualmente o, básicamente, soltar y reiniciar.
Personalmente prefiero el primer método, ya que creo que será mucho más fácil agregar una columna / tabla que recrear y migrar datos, pero, a menos que me haya perdido algo, esto se aleja completamente de Code First.
Entonces, la pregunta realmente es, ¿es Code First solo sobre el desarrollo inicial y cuál es una buena estrategia para administrar EF para un entorno de producción?