Chaîne de connexion d'entité ADO.NET pour plusieurs projets

ado.net ado.net-entity-data-model entity-framework linq-to-entities

Question

J'utilise plusieurs projets de couche où DataModel héberge le modèle d'entité ADo.NET et la couche DataAccess effectue la validation.

Cependant, chaque fois que je reçois une erreur comme celle-ci

La connexion nommée spécifiée est introuvable dans la configuration, non destinée à être utilisée avec le fournisseur EntityClient ou non valide.

J'ai essayé des chaînes de connexion

<add name="SalesEntities" connectionString="metadata=res://*/SalesEntities.csdl|res://*/SalesEntities.ssdl|res://*/SalesEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.;Initial Catalog=Phoenix;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

et

<add name="SalesEntities" connectionString="metadata=.\SalesEntities.csdl|.\SalesEntities.ssdl|.\SalesEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.;Initial Catalog=Phoenix;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Nous avons également essayé d’autres combinaisons pour faire référence au répertoire racine du répertoire du projet appelé, mais aucune chance.

Toute aide est grandement appréciée. Merci beaucoup, comme toujours :).

Réponse populaire

Vous devez mettre ces chaînes de connexion dans chaque fichier app.config des applications. Si vous avez généré un modèle dans un DAL et que vous essayez ensuite de le consommer dans un fichier EXE, la même chose se produira. Le fichier EXE ne connaît pas la chaîne de connexion.

La chose la plus simple que j'ai trouvée est de mettre un app.config sur chaque projet et de copier simplement la chaîne de connexion à partir du DAL dans lequel j'ai généré les modèles. Ensuite, chacun aura une copie de cette même chaîne de connexion.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow