Comment faire pour recréer la base de données en EF si mes changements de modèle?
J'ai créé un DbContext comme suit :
public class myDB : DbContext
{
public DbSet<Party> Parties { get; set; }
public DbSet<Booking> Bookings { get; set; }
}
Cela a généré de ma Base de données et les deux tableaux ci-dessus..Super
J'ai alors décidé d'ajouter un autre DbSet dans le mix & j'ai une erreur:
le modèle de la sauvegarde de la 'Partie', le contexte a changé depuis la base de données a été créé
Je suis conscient des correctifs pour ce à l'aide de modelbuilder.IncludeMetadataInDatabase = false;
et Database.SetInitializer<ClubmansGuideDB>(null);
1) Quelle est la façon correcte d'ajouter mes nouvelles classes pour le contexte et les ont générés dans la Base de données?
2) Dans mes vaines tentatives pour résoudre moi-même j'ai supprimé les tables et essayé de ré-exécuter l'application sans succès j'ai ensuite supprimé de la base de données complète et de ré-exécuter et il n'a pas re-générer la DB. Comment puis-je commencer à partir de zéro - est-il un cache quelque part?
- entity framework question n'est pas le meilleur titre que j'ai jamais vu.
- Quelle est l'utilité de cette observation, alors que le nombre de bonnes réponses?
Vous devez vous connecter pour publier un commentaire.
Je crois que vous êtes à la recherche pour:
Que de l'EF 4.1 et supérieur.
Noter que cela suppose que vous avez la permission de même déposer votre base de données. - Je le faire localement pour faciliter le développement, mais le désactiver dans la mise en scène/réalisation (je fais un manuel de comparaison de schémas et de pousser mes modifications).
Par la manière, pour les tests, si vous avez besoin de la force de recréer la base de données, vous pouvez le faire:
(
using
si vous n'en avez pas déjà une référence à votre DB)Vous pouvez laisser l'Entité Cadre de recréer l'ensemble de la base de données à l'aide d'un
Database Initializer
ou si vous souhaitez migrer les données, vous pouvez regarder le Le Premier Code Des MigrationsLa suivante serait de recréer votre base de données lorsque les changements de modèle:
Essayer de mettre cela dans votre Global.asax.cs Application_Start() la méthode.
Pour réinitialiser la base de données à partir de zéro sur l'application de fonctionner de rendre une classe comme ça
Puis dans votre Application_Start() la méthode que vous pouvez faire ce