Pergunta

Eu tenho um existente dev DB com o esquema e dados.Eu criei as classes usando o utilitário microsoft (CodeFirst classes).Eu, então, habilitado migrações.

Agora eu estou confuso sobre o comportamento de IgnoreChanges.Se a migração inicial não tem nenhuma Cima() e não para Baixo() lógica, o que vai acontecer quando eu implantar um prod db?

Faz EF simplesmente ignorar todas as migrações e apenas construir a partir do zero directamente a partir do modelo?

Se eu não colocar -IgnoreChanges, para todos os() e Baixo() lógica é lá.Mas após a Atualização do Banco de dados, ele lança uma exceção sobre uma tabela com o mesmo nome já existente.

Eu estou usando EF 5 RC.

Foi útil?

Solução

IgnoreChanges é para situações onde você tem de aplicativo existente (em ambos os dev e prod) e você quiser começar a usar as migrações. IgnoreChanges vai simplificar a adição de migração inicial a base de dados existente.Se você está no cenário onde não há banco de dados de produção existe, você não pode usar Ignorar as alterações.

A simples opção para o seu caso é a criação de entidades de base de dados existente e continuar trabalhando em outro banco de dados criado pela migração de essas entidades, porque você precisa de criação de tabela para todas as entidades em Up método (e Down método respectivamente).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top