Le Premier Code de la Migration - Entity Framework - impossible d'ajouter une colonne à la table

Cette question a été posée à de nombreuses reprises dans différentes saveurs sur les. Je suis passé par toutes les réponses et graver beaucoup de temps. J'ai juste ne peux pas sembler obtenir ce travail.

J'ai travaillé sur asp.net mvc, Entity Framework, SQL server app. J'ai déjà une base de données existante, tableaux, etc. et chaque chose est travail. J'ai juste besoin d'ajouter une nouvelle colonne à la table.

Donc.. j'ai ajouté une propriété dans la classe du modèle, de sorte que je pourrais ajouter la colonne à la table. Mais, sans succès.

Donc je ne les étapes dans l'ordre suivant.

  1. Ajouter le champ dans ma classe de modèle.
    [Required]
    public string EmailSubject{ get; set; }
  2. Puis-je supprimer le dossier des Migrations dans mon asp.net projet mvc contenant de Configuration.cs de la classe
  3. Ensuite dans le Gestionnaire de paquets de la Console, j'en question à la suite de la commande avec succès.
    Enable-Migrations -ContextTypeName AppointmentReminder.Data.ReminderDb -Force
  4. Puis j'ai mis la propriété véritable comme suit
    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
    }
  5. Puis-je émettre la commande suivante dans la console du gestionnaire de package.
    Update-Database -Verbose -Force

Voici ce que ma chaîne de connexion de connexion par défaut pour la base de données ressemble à

Data Source=(LocalDb)\v11.0;AttachDbFilename=C:\practice\AppointmentReminder4\AppointmentReminder4\App_Data\aspnet-AppointmentReminder4-20141202060615.mdf;Initial Catalog=aspnet-AppointmentReminder4-20141202060615;Integrated Security=True

Mais je suis INCAPABLE d'ajouter une nouvelle colonne dans ma table désirée.


Edit 1

J'ai mis à jour le modèle comme suit, sans l'attribut obligatoire et exécuté toutes les étapes ci-dessus, mais je n'étais toujours PAS en mesure d'ajouter la colonne à la table.

public string EmailBody { get; set; }

Voici la liste des commandes et de leur sortie.

PM> Enable-Migrations -ContextTypeName AppointmentReminder.Data.ReminderDb -Force
Checking if the context targets an existing database...
Code First Migrations enabled for project AppointmentReminder4.
PM> Update-Database -Verbose -Force
Using StartUp project 'AppointmentReminder4'.
Using NuGet project 'AppointmentReminder4'.
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Target database is: 'aspnet-AppointmentReminder4-20141202060615' (DataSource: (LocalDb)\v11.0, Provider: System.Data.SqlClient, Origin: Configuration).
No pending explicit migrations.
Running Seed method.
PM> Update-Database -Verbose -Force
Using StartUp project 'AppointmentReminder4'.
Using NuGet project 'AppointmentReminder4'.
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Target database is: 'aspnet-AppointmentReminder4-20141202060615' (DataSource: (LocalDb)\v11.0, Provider: System.Data.SqlClient, Origin: Configuration).
No pending explicit migrations.
Running Seed method.
PM> 

Edit 2
Enfin résolu ce problème. Toutes mes étapes ci-dessus sont correctes. Sauf que je a été l'édition de mon modèle de classe, par opposition à des données réelles de la classe qui est effectivement liée à la ReminderDb (EF objet). Après j'ai mis à jour la classe correcte avec la propriété, chaque chose a travaillé avec succès. Merci à tous ceux qui ont réagi avec l'aide!

Bien que j'ai déjà répondu à ce que je pense est la réponse, vous devriez probablement vous montrer quelle est l'erreur que vous avez obtenu.

OriginalL'auteur dotnet-practitioner | 2015-01-20