Tenho programado recentemente com o Entity Framework 4.1 Code First e estou adorando o desenvolvimento, mas com apenas um plano final e uma lista de recursos que muda rapidamente, estou constantemente modificando o Class / Database para atender às necessidades dos aplicativos.
No desenvolvimento, não há dados ativos e eu posso facilmente excluir todo o banco de dados, para que seja recriado com o novo esquema, no entanto, obviamente, quando ativos - isso é muito ruim!
As únicas soluções que posso ver são descartar a tabela de metadados e manter manualmente o banco de dados em sincronia ou basicamente descartar e reenviar.
Pessoalmente, prefiro o primeiro método, pois acho que será muito mais fácil adicionar uma coluna / tabela do que recriar e migrar dados, mas, a menos que eu tenha perdido alguma coisa, isso será completamente diferente do Code First.
Portanto, a questão é: o Code First é apenas sobre o desenvolvimento inicial e qual é uma boa estratégia para gerenciar o EF em um ambiente de produção?