Ich mache eine kleine Bibliothek (DLL), um Benutzer und ihre Rollen / Privilegien zu verwalten. Der Plan ist, diese DLL zu einem MVC-Projekt hinzufügen zu können und Benutzer / Rollen / etc. Alle Daten befinden sich in einer SQL-Datenbank.
Ich verwende Entity Framework für den Datenzugriff.
Wenn ich also einen neuen RoleManager initialisiere (dies ist der Name der Hauptklasse in der Lib, die ich mache), gebe ich einen connectionString wie folgt ein:
%Vor%Dann im Konstruktor mache ich das:
%Vor%Und ich versuche, diese Verbindungszeichenfolge (neben vielen anderen) zu liefern
%Vor%Und ich bekomme den folgenden Fehler:
%Vor%Diese Frage ist ein Ergebnis des Versuches, die EF aus meinem neuen Projekt zu instanziieren, ohne eine Verbindungszeichenfolge zu liefern, und ohne dass irgendetwas in meiner App-Konfiguration dafür voreingestellt ist. Schade, dass ich es jetzt nicht löschen kann.
Grundsätzlich versuchen Sie, ein ObjectContext zu instanziieren über diesen ObjectContext-Konstruktor (String) ohne zu übergeben Der String-Parameter in seinem erwarteten Format und das ist das Problem.
Hier ist was du tun musst:
1. Erstellen Sie zuerst einen Eintrag in Ihrem "Testprojekt" app.config, da dies der Ort ist, an dem die CLR die Verbindungszeichenfolge zur Laufzeit sucht.
Der Konstruktor sucht möglicherweise in der Einstellung connectionStrings Ihrer web.config nach einer Verbindungszeichenfolge mit dem Namen, den Sie als Parameter übergeben.
Wenn Sie also anrufen:
%Vor%Es sucht nach:
Ich bin nicht überzeugt, dass dies die Lösung ist, aber das scheint die Fehlermeldung zu sein.
Ich bin kein Experte für EF, aber ich glaube nicht, dass diese Verbindungszeichenfolge gültig ist. Probieren Sie:
%Vor%Tags und Links sql c# entity-framework