J'ai donc créé mon modèle d'entité dans une bibliothèque de classes distincte. J'ai dû ajouter la chaîne de connexion à la app.config
de cette bibliothèque de classes. Puis j'ai ajouté une référence pour ce projet dans mon application web. J'ai ajouté la même chaîne de connexion dans le fichier web.config
de mon application web en pensant que c'est de là qu'Entity Framework lira la chaîne de connexion.
Tout allait bien jusqu'à ce que je déploie mon application web. Lorsque j'ai déployé, j'ai modifié la chaîne de connexion dans le champ web.config
(pas app.config
de la bibliothèque de classes) et j'ai commencé à avoir des erreurs. Après avoir fait quelques recherches, j'ai découvert que la chaîne de connexion dans les deux applications web.config
y app.config
doit correspondre !
C'est juste stupide ! Chaque fois que j'ai besoin de déployer mon application web dans un environnement différent, je dois revenir en arrière et modifier la chaîne de connexion dans le fichier de configuration de l'application. app.config
et ensuite recompiler mon projet de bibliothèque de classe juste pour qu'il puisse obtenir la chaîne de connexion rafraîchie ?
Quelqu'un a-t-il trouvé une meilleure façon de procéder ? Je veux dire, je ne peux pas être la seule personne à avoir pensé à mettre le modèle d'entité dans une assemblée séparée.
Solution possible (si vous utilisez EF 4.1) : Puisque la seule raison pour laquelle nous avons besoin d'avoir app.config dans un projet de bibliothèque de classes est pour le concepteur EF. Si nous abandonnons l'approche du concepteur et passons au Code-First (EF 4.1), vous n'aurez pas besoin d'avoir un fichier app.config pour votre projet de bibliothèque de classes.