0

Je construis une application web qui utilise Entity Framework. J'ai déplacé le modèle d'entité et généré des classes à un projet distinct, car il sera utilisé par plus d'un consommateur.Comment définir une seule fois la chaîne de connexion EF et la réutiliser dans d'autres projets?

Mais lorsque je tente de lancer l'application, Entity Framework me dit que

No connection string named 'X' could be ofund in the application config file. 

Pour supprimer ce problème, je dois ajouter la chaîne de connexion Entity Framework pour chaque projet consommer. Bien sûr, c'est ennuyeux, car il y a plusieurs consommateurs, et cela introduit aussi un couplage serré que j'espérais me débarrasser en divisant le logiciel en différents projets.

Alors est-il possible de définir la chaîne de connexion dans un seul endroit et non dans chaque projet consommateur?

REMARQUE: Je suis l'approche Database First.

Répondre

1

Ceci est possible car vous pouvez instancier un contexte avec un constructor qui accepte une chaîne de connexion. Dans l'un de nos projets, nous avons une ContextFactory où la chaîne de connexion est enregistrée une fois au démarrage. Tout le code dans l'assembly obtient des contextes de l'usine.

En fait, dans notre cas, nous utilisons un ObjectContext et créons la chaîne de connexion pour la fabrique à partir de la connexion enregistrée et la chaîne de métadonnées créée lors de la création du contexte. Nous faisons cela en utilisant un EntityConnectionStringBuilder.

Questions connexes