8
votes

Entity Framework Connexion String Trouble

Je fais une petite bibliothèque (DLL) pour gérer les utilisateurs et leurs rôles / privilèges. Le plan consiste à pouvoir ajouter cette DLL à un projet MVC et être capable de manipuler les utilisateurs / rôles / etc. Toutes les données résident dans un DB SQL.

J'utilise le cadre d'entité pour l'accès aux données.

Alors, quand j'imitive un nouveau rolemanager (c'est le nom de la classe principale de la lib fabrication) Je l'apporte avec un connecteur, comme: xxx

puis à l'intérieur du constructeur, je fais ceci: xxx

et J'essaie de fournir cette chaîne de connexion (parmi beaucoup d'autres) xxx

et je reçois l'erreur suivante: xxx

Cette question est le résultat d'avoir essayé d'instancier l'EF à partir de mon nouveau projet sans fournir de chaîne de connexion et sans rien avoir à l'intérieur de mon application de configuration pour qu'il soit par défaut. Dommage que je ne puisse pas le supprimer maintenant.


0 commentaires

4 Réponses :


0
votes

Le constructeur peut rechercher une chaîne de connexion dans le réglage des connexions de votre web.config avec le nom que vous le transmettez comme paramètre.

Donc, si vous appelez: P>

db = new RoleManagerEntities("Foobar");


1 commentaires

"Le format de la chaîne d'initialisation n'est pas conforme à la spécification à partir de l'index 0." Erreur



0
votes

Je ne suis pas un expert sur EF, mais je ne pense pas que la chaîne de connexion est valide. Essayez:

metadata=res://*;provider=System.Data.SqlClient;provider connection string='Data Source=localhost;Initial Catalog=Login;Integrated Security=True;Connection Timeout=60; multipleactiveresultsets=true'


3 commentaires

Le format de la chaîne d'initialisation n'est pas conforme à la spécification à partir de l'index 0.


Toutefois, si j'utilise "chaîne de connexion du fournisseur =" source de données = localhost; Catalogue initial = Connexion; Sécurité intégrée = true; Délai de connexion = 60; MultipleauceptiverSultsets = Vrai '"alors il dit que cela nécessite des métadonnées ...


"La connexion nommée spécifiée n'est pas trouvée dans la configuration, non destinée à être utilisée avec le fournisseur d'entréeClient ou non valide."



8
votes

Copiez simplement les informations de chaîne de connexion de votre fichier de configuration DLL dans votre fichier de configuration exécutable.


1 commentaires

J'ai fait. Et c'est ce qui arrive. "La connexion nommée spécifiée n'est pas trouvée dans la configuration, non destinée à être utilisée avec le fournisseur d'entréeClient ou non valide."



6
votes

Fondamentalement, vous essayez d'instancier un ObjectContext strong> via ce ObjectContext Constructeur (String) strong> sans passer le paramètre String dans son format attendu et c'est le problème. de
Voici ce que tu dois faire:

1. Créez d'abord une entrée dans votre dans votre «projet de test» app.config car c'est l'endroit où le CLR envisage de trouver la chaîne de connexion au moment de l'exécution. xxx pré>

2. Modifiez maintenant le code pour transmettre la chaîne de connexion nom i> au lieu de la chaîne de connexion réelle: P>

db = new RoleManagerEntities("name=RoleManagerEntities");


0 commentaires