2009-06-25 2 views
0

Ich habe ein seltsames Problem mit meinem Projekt. Es war eine Website, die jetzt in eine Webanwendung konvertiert wird, die sich in einer Lösung befindet. Anfänglich wurden Klassen mithilfe der Linq to Sql .dbml-Datei eingerichtet, die ihre Verbindungszeichenfolge in /MyProject/web.config speicherte. Jetzt ist das Projekt ('Web Application') in einer Lösung und wenn ich die Linq zu Sql dbml Datei modifiziere, erstellt es eine web.config Datei mit nur der Verbindungszeichenfolge eine Ebene darüber, in /MySolution/web.config, während ich immer noch Haben Sie /MySolution/MyProject/web.config. Das gibt Fehler mit doppelten Verbindungszeichenfolgennamen. Also, wie kann ich Linq zu Sql einfach verwenden Sie die Datei web.config in /MySolution/MyProject/web.config, oder ist meine gesamte web.config-Datei angeblich in MySolution/web.config (ich würde es vorziehen, es zu behalten wo ist es) Danke!Web.Config-Datei und Linq zu Sql seinen Platz ändern

PS: die Datacontext ist in /MySolution/MyProject/MyCode/Models/MyDataContext.dbml

Antwort

0

Es scheint, als ob die dbml Aktualisierung wird immer nur die Wurzel web.config zwingen aktualisiert werden. Es wird wahrscheinlich am einfachsten sein, Ihr Projekt zu pflegen, wenn Sie nur das root web.config verwenden, aber Sie haben eine andere Option.

Jeder Ordner kann seine eigene Konfiguration haben, weshalb Sie die doppelte Namensausnahme erhalten. Wenn Sie dies umgehen möchten, können Sie zuerst entfernen und dann eine Verbindungszeichenfolge mit demselben Namen hinzufügen. Wenn Sie dies tun, blockieren Ihre connection (innerhalb /MySolution/MyProject/web.config) wird wie folgt aussehen:

<connectionStrings> 
    <remove name="MyConnectionString"/> 
    <add name="MyConnectionString" connectionString="XXXXXXXXXX" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

Wie ich schon sagte, kann ich nicht wirklich empfehlen, dass Sie dies tun, als Ihre dbml noch an der Wurzel sparen web.config, so dass es für andere Entwickler vielleicht nicht einfach ist zu erkennen, was vor sich geht.

+0

Ich weiß auch, dass Sie das vielleicht schon gelöst haben, aber ich sah die Frage und dachte, es könnte eine Antwort verwenden! –