Entity Framework, appliquer les Migrations

J'utilise Entity Framework code first set AutomaticMigrationsEnabled vrai par ce code :

Database.SetInitializer(new MigrateDatabaseToLatestVersion<DbContext, MigrateDBConfiguration>());
//////////////////////////////////

public class MigrateDBConfiguration : System.Data.Entity.Migrations.DbMigrationsConfiguration<DbContext>
{
    public MigrateDBConfiguration()
    {
        AutomaticMigrationsEnabled = true;
        AutomaticMigrationDataLossAllowed = true;
    }
}

Dans la première exécution le projet qu'il fonctionne bien et de créer une base de données et des tables. après j'ai changer de modèle et de supprimer certains de champ ou d'ajouter de nouveaux champs et exécutez l'assistant Ajout de Migration, la Migration de la classe générée, mais après l'exécution du projet cette exception se produire :

Une exception de type 'System.InvalidOperationException' s'est produite dans EntityFramework.dll mais n'a pas été traitée dans le code utilisateur

Informations supplémentaires: Le modèle de la sauvegarde de la "DBContext' a
changé depuis la base de données a été créé.

EDIT: Comme la réponse de arturo menchaca je peut changer de code comme ceci :

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        Database.SetInitializer(new MigrateDatabaseToLatestVersion<DBContext, MigrateDBConfiguration<DBContext>>());

...

Mais ths exception est ocure :

Il y a déjà un objet nommé "MyTable" dans la base de données.

Je veux appliquer mon migrations.

Une chose à vérifier est de voir si vous avez changé vos espaces de noms à tous. Entity Framework migrations sont très sensibles à la namespacing comme cela semble être, où beaucoup de vaudou semble se produire avec les migrations. J'ai été brûlé dans le passé par un ajustement des espaces de noms pour s'adapter à la structure de dossier migrations crée par défaut.
il semble que vous êtes en combinant les migrations automatiques avec manuel migations. Cela peut causer de sérieux migrationHistory questions dans la base de données (au moins autant que je l'ai vécu). Si vous générez manuel migrations essayez de désactiver les migrations automatiques.

OriginalL'auteur Fred | 2016-03-28