La mise à jour de la base de données d'EF Core échoue en raison d'un objet existant dans la base de données
Dans ASP.Net Core à l'aide d'Entity Framework Core, tentative de mise à jour la base de données peut échouer avec une erreur indiquant qu'un objet portant le même nom existe déjà dans la base de données. Cette erreur se produit si des mises à jour manuelles ont été effectuées sur la base de données après avoir utilisé la ligne de commande pour la mettre à jour.
La solution couramment suggérée consiste à utiliser la commande "Ajouter-migration 'Reset' -IgnoreChanges", comme indiqué par John Salewski. Toutefois, cette approche peut échouer en raison de l'absence du paramètre -IgnoreChanges dans EF Core.
Résolution :
Pour résoudre ce problème, procédez comme suit :
Commentaire vers le haut() Méthode :
Appliquer le Migration :
Exécutez la commande suivante :
Add-Migration Initialization Update-Database
Cette procédure crée un instantané du état actuel de la base de données. Les migrations futures n'incluront que les modifications apportées après cette référence.
Ajouter les modifications :
En commentant la méthode Up(), EF Core conserve le schéma de base de données actuel et évite les conflits avec les objets existants. Une fois la migration de base appliquée, les migrations ultérieures peuvent introduire de nouvelles modifications en toute sécurité, garantissant ainsi un processus de mise à jour transparent.
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!