2009-06-25 2 views
0

내 프로젝트에 이상한 문제가 있습니다. 그것은 이제 솔루션에있는 웹 응용 프로그램으로 변환 된 웹 사이트였습니다. 처음에는 /MyProject/web.config에 연결 문자열을 저장 한 Sql .dbml 파일로 Linq를 사용하여 클래스를 설정했습니다. 이제 프로젝트 ('웹 응용 프로그램') 솔루션에 있고 내가 Linq SQL DBml 파일을 수정할 때 해당 연결 문자열 한 수준 위의 /MySolution/web.config있는 web.config 파일을 만듭니다 여전히 동안 /MySolution/MyProject/web.config 있습니다. 그러면 연결 문자열 이름이 중복되어 오류가 발생합니다. 그래서, 어떻게 Linq SQL로 /MySolution/MyProject/web.config에서 web.config 파일을 사용하거나 내 전체 web.config 파일 MySolution/web.config에 있어야합니다 (나는 그것을 유지하는 것이 좋습니다) Logged 어디 있니?) 고마워!Web.Config 파일과 Linq가 Sql의 자리를 바꾸는 중

PS는 다음 데이터 컨텍스트는 /MySolution/MyProject/MyCode/Models/MyDataContext.dbml

업데이트하는 것이 유일한 루트 Web.config를 강제 할 DBML를 업데이트하는 것처럼 나타나는

답변

0

입니다. 해당 루트 web.config 만 사용하는 경우 프로젝트를 유지 관리하는 것이 가장 쉽지만 다른 옵션이 있습니다.

각 폴더에는 고유 한 구성이있을 수 있습니다. 따라서 중복 이름 예외가 발생합니다. 이 문제를 해결하려면 먼저 같은 이름의 연결 문자열을 제거한 다음 추가하면됩니다.

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

내가 말했듯이, 난 정말 당신의 DBML 여전히 루트에 저장됩니다대로이 작업을 수행하는 것이 좋습니다 수 없습니다 :이 작업을 수행 할 경우, connectionStrings은 다음과 유사합니다 (/MySolution/MyProject/web.config 이내) 차단 web.config이므로 다른 개발자가 무슨 일이 일어나고 있는지 쉽게 알지 못할 수도 있습니다.

+0

나는 또한 당신이 지금까지 이것을 풀어봤을지도 모른다는 것을 알고 있지만, 나는 그 질문을보고 대답을 사용할 수 있다고 생각했다. –

관련 문제