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
Mary-Kate Olsenoriginal
2024-12-27 20:15:10395parcourir

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: 

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:
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