it-swarm.com.de

In der Konfigurationsdatei der Anwendung wurde keine Verbindungszeichenfolge angegeben

Ich verwende EF und erzeugte .EDMX daraus, wollte es aber nur für die automatisierte Erzeugung von Klassendateien verwenden. 

Ich habe dann mit den Klassendateien ein Entitätsmodell erstellt und dann einen DB-Kontext und dann das Repository erstellt. Ich rufe ein WebApi (das sich in einem separaten Projekt befindet, aber dieselbe Lösung hat) an, um auf das Repository zuzugreifen, um GET-Daten zu erhalten. Beim Ausführen des WebApi erhalte ich die Fehlermeldung, 

{"In der Konfigurationsdatei der Anwendung wurde keine Verbindungszeichenfolge mit dem Namen 'DBEntities' gefunden."}

Aber in meiner DAL habe ich eine webConfig und diese hat den folgenden Eintrag. Ich bin mir nicht ganz sicher, was schief gelaufen ist.

add name="DBEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=MY-PC;initial catalog=DB;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" 
13
user1345260

Sie sagen "in meiner DAL habe ich eine webConfig". Die Verbindungszeichenfolge befindet sich zwar in der Konfigurationsdatei einer referenzierten Klassenbibliothek, nicht jedoch in der Hauptkonfigurationsdatei, die Sie in Ihrem Eintragsprojekt haben (ein Web-API-Projekt, ich schätze, wenn Sie die Tags betrachten).

Wenn ja, kopieren Sie einfach die Verbindungszeichenfolge in die Konfigurationsdatei des Eintragsprojekts.

13
Paolo Costa

Entfernen Sie in der DBContext-Datei

public RaficaDB()
: base("name=DefaultConnection"){}

zu

public RaficaDB()
: base("DefaultConnection"){}

EF 4.3, EF 5 und EF 6 mögen nicht, dass die Verbindungszeichenfolge name = xxxxx genannt wird

Antwort hier gefunden -> In der Konfigurationsdatei der Anwendung konnte keine Verbindungszeichenfolge mit dem Namen 'MyApplicationEntities' gefunden werden.

35
dunwan

Fügen Sie im Konfigurationsabschnitt der .config-Datei des Projekts, in dem sich Ihre .edmx-Datei befindet, folgenden Abschnitt ein.

Sie können auch eine andere Verbindungszeichenfolge für eine andere Umgebung in der .config-Datei des Hauptprojekts erstellen und eine beliebige Verbindungszeichenfolge als Parameter des Konstruktors des DBContext übergeben.

<connectionStrings>
  
<add name="DBEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MY-PC;initial catalog=DB;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

</connectionStrings>

1
Raishul

Ich habe festgestellt, dass dies funktioniert hat:

1) Prüfen Sie, ob Sie mehrere "App.config" -Dateien haben . 2) Prüfen Sie, ob der Name der Verbindungszeichenfolge falsch ist . 3) Speichern Sie das Projekt und führen Sie das Programm aus

Es sollte jetzt klappen.

1
R3verse

Die einfachste Lösung:

Entfernen Sie die aktuelle edmx-Datei und die zugehörige Verbindungszeichenfolge in app.config und fügen Sie das Edmx-Element mit demselben Namen wie zuvor wieder hinzu.

das hat für mich funktioniert.

0
kokabi

Kopieren Sie den Verbindungsstring und fügen Sie ihn in Ihre WEBAPI-Projektdatei web.config ein, um das Problem zu beheben.

0

Es ist dumm, aber ich hatte diesen Fehler, der durch einen Rebuild All behoben wurde !!
Hätte es auch ausschalten und wieder einschalten können ....

0
noelicus