2

J'ai essayé d'injecter IConfiguration dans la migration (dans le constructeur), et j'ai obtenu l'exception: "Aucun constructeur sans paramètre défini pour cet objet."Puis-je injecter des dépendances dans la migration (à l'aide des migrations EF-Core avec code initial)?

une solution de contournement?

+0

Pourriez-vous décrire davantage ce que vous essayez d'accomplir en injectant un service? – bricelam

+0

@bricelam, a essayé d'écrire la migration qui insèrent des données dans db, cette donnée dépend des données dans d'autres db (qui ne sont pas mappés à entity-framework). donc la migration devrait obtenir de la configuration la deuxième chaîne de connexion db (puisque ce n'est pas la même chose pour les env dev/staging/prod). nous finissons par exécuter le script manuellement sur tous les env. – arielorvits

Répondre

5

vous ne pouvez pas, les migrations doivent pouvoir s'exécuter en dehors du contexte de votre application.

Étant donné que l'outil de ligne de commande Entity-framework analyse votre code mais n'exécute pas la classe startup.cs.

Aussi, ce n'est pas conseillé. vos migrations doivent être simples et ne dépendent de rien. si tel était le cas, cela pourrait conduire à des effets secondaires majeurs lors de l'exécution où la configuration manquante pourrait entraîner l'absence de tables ou de colonnes en production.