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. P>
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: p> puis à l'intérieur du constructeur, je fais ceci: p> et J'essaie de fournir cette chaîne de connexion (parmi beaucoup d'autres) p> et je reçois l'erreur suivante: p> 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. Strong> p> p>
4 Réponses :
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");
"Le format de la chaîne d'initialisation n'est pas conforme à la spécification à partir de l'index 0." Erreur
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'
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."
Copiez simplement les informations de chaîne de connexion de votre fichier de configuration DLL dans votre fichier de configuration exécutable. P>
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."
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
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>
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.
db = new RoleManagerEntities("name=RoleManagerEntities");