Maison > base de données > tutoriel mysql > Comment résoudre l'erreur « L'objet existe déjà dans la base de données » lors de l'utilisation de la base de données de mise à jour dans EF Core ?

Comment résoudre l'erreur « L'objet existe déjà dans la base de données » lors de l'utilisation de la base de données de mise à jour dans EF Core ?

Mary-Kate Olsen
Libérer: 2024-12-27 20:15:10
original
478 Les gens l'ont consulté

How to Resolve

Erreur de mise à jour de la base de données : l'objet existe déjà dans la base de données

Description du problème :

Tentative L'utilisation de la commande Update-Database dans ASP.Net Core et Entity Framework Core entraîne une erreur indiquant qu'un objet portant déjà le même nom existe dans la base de données.

Détails de l'erreur :

There is already an object named 'ClientsAndTestimonials' in the database. System.Data.SqlClient.SqlException: 
Copier après la connexion

Solution :

Pour résoudre cette erreur, une alternative Cette approche peut être utilisée :

  1. Commentez la méthode Up() dans le fichier de migration pour le modèle concerné change.
  2. Appliquez la migration à l'aide de la commande Update-Database.
  3. Cela établit un instantané de base de l'état actuel du modèle.
  4. Supprimez le commentaire de la méthode Up() et rajoutez les modifications du modèle.
  5. Ajoutez une deuxième migration pour le nouveau changements.

Remarque :

Cette approche équivaut à l'utilisation d'Add-migration "Reset" -IgnoreChanges dans les versions précédentes d'EF Core, mais ce n'est pas le cas. directement pris en charge dans EF Core. La migration de référence nouvellement créée empêchera les migrations ultérieures d'inclure les modifications apportées aux objets qui existaient avant la référence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal