1

J'ai deux projets dans la solution myVS 2015.Web Api 2.2 - Première migration de code dans le projet de bibliothèque de classes

  1. Projet A

    • Web Api 2.2 Projet
    • Projet principal où la classe DBContext et chaîne de connexion (dans le fichier web.config) est défini
  2. projet B

    • Bibliothèque de classes Projet
    • Projet A ajouté comme référence
    • Modèles & Contrôleur Defined
    • modèles hérite d'une classe de projet A
    • créé une classe DBContext qui hérite DBContext du projet A.
    • public DbSet Planets {get; ensemble; }

Mon idée derrière la structure ci-dessus du projet est:

  1. Afin de réduire la complexité quand projet grossit

  2. Pour le rendre moins complexe augmenter la lisibilité &

  3. Pour m Ake authentification & logique d'autorisation dans le projet A

je dois obtenir chose suivante dans le projet B:

  1. besoin de partager/chaîne de connexion d'accès du projet A
  2. Besoin d'exécuter du code première migration.
  3. Besoin de savoir comment puis-je exécuter la première migration de code lors du déploiement de l'application pour prod?

Problème:

J'ai activé le code première migration et mis à jour le DB. Il fonctionne sans aucun problème mais ne fonctionne pas avec la base de données configurée dans le fichier web.config du projet A. Au lieu de cela, il ajoute sa propre base de données locale.

Dois-je également spécifier la chaîne de connexion dans le projet B. Si oui, comme c'est une bibliothèque de classe, comment puis-je ajouter un fichier de configuration?

Répondre

1

Vous devez spécifier votre chaîne de connexion dans l'application.Config, puis donnez le nom de la chaîne de connexion dans le constructeur de DbContext Comme ceci.

public ApplicationContext() : Base('ConnectionString') 

Aussi, vous devez changer votre defaultConnectionFactory de LocalDbConnectionFactory à SQLConnectionDbFactory en App.Config.