-1
votes

Comment puis-je modifier l'option de clé étrangère sur MySQL EF 6?

J'ai créé une table avec une mauvaise option de clé étrangère dans MySQL EF 6, donc je souhaite modifier l'option de clé étrangère de cette table à Cascade Suppr, mais comment?

J'ai fait cette base de données sur le code-d'abord. Existe-t-il une solution sans ré-création de la base de données ni appeler manuellement SQL?


3 commentaires

Savez-vous comment utiliser des migrations du tout?


Pensez-vous donc?


Non, je ne vois pas votre commentaire ci-dessous ( Je pense que je dois apprendre les migrations EF ).


4 Réponses :


0
votes

Il suffit de changer de mappage car il est nécessaire d'être

puis de créer un script de migration comme vous l'avez fait plus tôt. p> xxx pré>

après cette base de données de mise à jour comme vous l'avez fait plus tôt . P>

update-database


0 commentaires

0
votes

Il suffit de modifier les modifications que vous souhaitez, puis de la "console de gestionnaire de paquets", exécutez cette ligne: xxx

note que v1 dans la ligne ci-dessus est pour la migration. Versioning et vous pouvez nommer la migration tout ce que vous voulez.

Pour ajouter une nouvelle migration qui reflète vos modifications. Ensuite, exécutez cette ligne: xxx


0 commentaires

0
votes

Il y a une solution. Vous pouvez personnaliser le code de migration en utilisant l'une de ces commandes

dans Visual Studio P> xxx pré>

à l'aide de la fenêtre PowerShell P>

dotnet ef migrations add Changes


3 commentaires

Merci pour votre réponse. J'ai essayé comme ci-dessous: Nourber le public annulé () {DropForignkey ("dbo.boardnoticeconters", "id", "dbo.boadnotices"); Addionignkey ("dbo.boardnoticecons", "id", "dbo.boadnocoinces", cascadedelete: vrai); } Remplacement du public Void () {DropForignkey ("dbo.boardnoticecontes", "id", "dbo.boadnotices"); Addionignkey ("dbo.boardnoticecons", "id", "dbo.bordnocostices", cascadedelete: faux); }


La table dépendante est BoardNoticontents et principal est 'BoardNoices' mais Erreur renvoyée: Table 'sdelight.dbo.boardnoConTents'S n'existe pas des tables sont existantes et vérifie qu'il n'y a pas de différence entre le nom de la table de la première génération de code - Méthode de clé étrangère et mon code. Je ne sais pas pourquoi l'erreur est retournée. pourrais-tu m'aider s'il te plait


Oh maintenant je connais 'dbo.' Le préfixe n'est pas nécessaire. Je pense que je dois apprendre les migrations ef. Cependant merci pour la réponse. C'était une réponse simple, mais m'a donné une idée de la façon de résoudre le problème. passe une bonne journée.



0
votes

Vous pouvez modifier les modifications que vous souhaitez, puis ouvrir "la console de gestionnaire de packages" xxx pré>

puis: p> xxx pré>

alors: p >

PM> Update-Database


0 commentaires