Hinzufügen eines Entity Framework-connection-string als variable in Application-Einstellungen

Habe ich dieses automatisch generierte connection-string in meiner app.config-Datei. Diese wurde hergestellt, indem eine Datenbank-erste, Modell im Entity Framework:

<add name="HalloweenContext" connectionString="metadata=res://*/HalloweenDbModel.csdl|
                                                    res://*/HalloweenDbModel.ssdl|
                                                    res://*/HalloweenDbModel.msl;
                         provider=System.Data.SqlClient;
                         provider connection string=&quot;
                         data source=localhost\sqlexpress;
                         initial catalog=Halloween;
                         integrated security=True;
                         MultipleActiveResultSets=True;
                         App=EntityFramework&quot;"
 providerName="System.Data.EntityClient" />

Ich habe angewiesen, dass die Verbindungs-Zeichenfolge und legen Sie Sie in der Anwendung Einstellungen (Bild ist zur Veranschaulichung der Anwendung Einstellungen Seite):

Hinzufügen eines Entity Framework-connection-string als variable in Application-Einstellungen

Habe ich diesen Abschnitt und cut/Paste es in einem settings-variable namens "HalloweenContext" und verändert auch die &quote; zu einem single-Angebot:

"metadata=res://*/HalloweenDbModel.csdl|
          res://*/HalloweenDbModel.ssdl|
          res://*/HalloweenDbModel.msl;
          provider=System.Data.SqlClient;
          provider connection string=';
          data source=localhost\sqlexpress;
          initial catalog=Halloween;
          integrated security=True;
          MultipleActiveResultSets=True;
          App=EntityFramework';"
 providerName="System.Data.EntityClient"

Allerdings, wenn ich Sie über die Auswahl in der Anwendung-Einstellungen variable für HallowContext, bekomme ich die folgende Fehlermeldung:

Hinzufügen eines Entity Framework-connection-string als variable in Application-Einstellungen

Ich habe die Verbindungszeichenfolge und erneut geprüft, aber ich kann nicht herausfinden, was falsch mit es. Ich habe die Zitate entfernt, Hinzugefügt, Angebote, etc. aber nichts scheint zu funktionieren für mich.

Frage ich mich, ob vielleicht, denn dies ist eine EF-Verbindungszeichenfolge, dass ich bin, dass Sie in der Anwendung Einstellungen falsch?

UPDATE: Nach der Verwendung der neuen Daten-Verbindung Zeichenfolge wie in der Antwort unten, ich bin jetzt immer einen neuen Fehler:

Kontext verwendet wird im Code First-Modus mit dem code, der generiert wurde, von einem EDMX-Datei, die entweder für Database First oder Model-First-Entwicklung. Dies funktioniert nicht richtig. Um dieses problem zu beheben, entfernen Sie die Codezeile, die diese exception hervorrufen. Wenn Sie möchten, verwenden Sie Database First oder Model-First, stellen Sie sicher, dass das Entity Framework Verbindungszeichenfolge ist in der app enthalten.config oder web.config der start-up-Projekt. Wenn Sie die Erstellung Ihrer eigenen DbConnection...

So, ich bin zu denken, dass ich möglicherweise nicht in der Lage sein, um diesen Kontext zu verwenden anstelle von meine db-die erste Kontext. Aber, auch ich kann nicht scheinen, um meine db-die erste Kontext, wie es ist, also ich bin an einem Stillstand. Ich werde weiter nach einer Lösung suchen, und ich Schätze die Hilfe so weit.

Als zusätzlicher Hinweis, ich werde bekräftigen, dass die ursprüngliche Verbindungszeichenfolge funktioniert einwandfrei und ist in die app.config-Datei. Aber ich habe angewiesen worden, fügen Sie die Anwendung Einstellungen. Ich persönlich glaube, dass, wenn es funktioniert in der app.config-Datei, dann sollte das ausreichend sein, aber wir waren angewiesen auf Verbindungszeichenfolge verwenden, indem Sie die Einstellungen der Anwendung und verwenden Sie es wie connectionString = Settings.Default.HaloweenContext. Das ultimative Ziel ist es, viele Anschluss Saiten set up in der Anwendung Einstellungen, die wir nutzen können.

Randnotiz: ich bin der überzeugung, dass die Verwendung mehrerer named connection strings in der app.config-Datei ist der Weg zu gehen. Gibt es einen Vorteil, das hinzufügen dieser Verbindungszeichenfolgen-Anwendung Einstellungen statt nur manuell hinzufügen, um die app.config-Datei?

Ich nie verstehen, warum Menschen wollen, um die Niederlage der integrierten Konfigurations-Funktionen .NET und zwingen es, ein system zu benutzen, dass ist mehr fehleranfällig und unterliegen Zusammenstellung Probleme. ConnectionStrings-Abschnitt ist der richtige Ort für Verbindungszeichenfolgen .NET, mit anderen Konfigurations-Bereiche ist nicht normal. In der Regel, dies ergibt sich aus einem Missverständnis oder so, oder nur verstehen, wie man die Dinge auf eine bestimmte Weise ("wenn Sie nur einen hammer hat, sieht alles wie ein "Eigenschaften" - Syndrom.
Ich bin damit einverstanden. Ich habe alle Verbindungszeichenfolgen in Ihren richtigen Platz in der app.config und es funktioniert Super! Leider, wie oben gesagt, der Chef will Sie in die Einstellungen der Anwendung. Die, übrigens, fügt die app.config-Datei sowieso! Grrr!
Haben Sie, fragte der Chef, warum will er das? Wenn mein Chef fragt, für etwas unsinnig, normalerweise finde ich ihn bitten, zu erklären, der Grund für seine bitte hilft mir, zu erklären, warum seine Anfrage möglicherweise nicht die beste Wahl sein. Manchmal sind die Bosse fordern Sie diese Dinge, weil Sie wollen, dass integration auch mit einem anderen tool, oder haben aus anderen Gründen, aber es gibt andere Wege, um diese Ergebnisse am Ende.
VS auch nicht nativ eine Möglichkeit haben, verwenden Sie eine andere Verbindungszeichenfolge pro build-Konfiguration. (Ya zu tun haben, eine post-build-Sache zu tun, die Transformation (die in der Regel auf der release -))

InformationsquelleAutor Kevin | 2014-08-07

Schreibe einen Kommentar