128 votes

Comment supprimer et recréer de zéro une base de données EF Code First existante ?

J'utilise EF Code First avec EF 5 dans VS 2012. J'utilise PM update-database et j'ai une méthode simple pour remplir quelques tableaux avec des données d'exemple.

Je voudrais supprimer et recréer mon x.mdb. L'historique des mises à jour semble être désynchronisé. Si je commente tous mes DBSets dans mon contexte, update-database fonctionne sans erreur mais laisse quelques tables dans la BD. Comme je n'ai pas de données de valeur dans la base de données, il semble que le plus simple soit de tout réinitialiser.

Comment puis-je y parvenir ?

0voto

Shaahin Points 106

Prenez ces mesures :

  1. Supprimer les objets qui doivent être supprimés du contexte // Dbset<Item> Items{get;set;} et dans la console Nuget, exécutez les commandes suivantes
  2. add-migration [contextName]
  3. update-database -verbose

Il supprimera les tables qui n'existent pas dans Context, mais qui ont déjà été créées dans la base de données.

0voto

Albert Quist Points 1

Permettez-moi de vous aider en mettant à jour les réponses ici puisque les nouveaux utilisateurs y trouveront leur compte. Je pense que le but est de supprimer la base de données elle-même et de la recréer en utilisant l'approche EF Code First. 1. ouvrez votre projet dans Visual Studio en utilisant l'extension ".sln". Sélectionnez Server Explorer (il est souvent sur la gauche). 3) Sélectionnez SQL Server Object Explorer. La base de données que vous souhaitez supprimer est répertoriée sous l'une des bases de données locales. Cliquez avec le bouton droit de la souris sur la base de données et sélectionnez Supprimer.

-2voto

beggarboy Points 163

Comme cette question va être posée un jour ou l'autre par les nouveaux utilisateurs d'EF Core et que je trouve les réponses les plus courantes inutilement destructives, je vais vous montrer une façon de repartir à zéro. Attention, cela supprime toutes vos données.

  1. Supprimez toutes les tables de votre serveur MS SQL. Supprimez également la table __EFMigrations.
  2. Type dotnet ef database update
  3. EF Core va maintenant recréer la base de données depuis zéro jusqu'à votre dernière migration.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X