2017-11-23 12 views
0

데이터베이스 작업에 EF 6.0을 사용하는 웹 API 프로젝트가 있습니다. 나는 3 개의 Azure SQL 데이터베이스 (Dev, Test, Prod)를 가지고있다.연결 문자열 변환을 사용하여 Entity Framework 6.0을 사용하여 여러 데이터베이스 지원

나는 데이터 접근법으로 엔티티 데이터 모델을 만들 수 있었다.

VS2017의 구성 관리자를 사용하여 web.test 구성 파일을 만들었지 만 연결 문자열의 변환이 작동하지 않습니다.

<connectionStrings> 
    <add name="ProjectDbEntity" 
     connectionString="metadata=res://*/Data.ProjectEntityModel.csdl|res://*/Data.ProjectEntityModel.ssdl|res://*/Data.ProjectEntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=company-ai-Projectserver.database.windows.net;initial catalog=company.DB_Test;persist security info=True;user id=Project;password=Project1234$$;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" 
     xdt:Transform="SetAttributes" 
     xdt:Locator="Match(name)"/> 
    </connectionStrings> 

내가 어떻게 알아낼 수 아니에요 다음과 같이 web.test.config이며,

<connectionStrings> 
    <add name="ProjectDbEntity" 
     connectionString="metadata=res://*/Data.ProjectEntityModel.csdl|res://*/Data.ProjectEntityModel.ssdl|res://*/Data.ProjectEntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=company-ai-Projectserver.database.windows.net;initial catalog=company.DB_Dev;persist security info=True;user id=Project;password=Password1234$$;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

을 그리고 :

현재 내 web.config 파일은 다음과 같이 데브 환경을 가리키는 연결 문자열을 가지고 내가 EF 모델을 사용하여 EF 모델을 구축 할 때 EF 변경 연결 문자열을 만들지 만 배포 중에 동일한 스키마로 다른 데이터베이스 인스턴스를 사용하려고합니다.

나는 다음과 같은 내용을 읽고있다. 그러나 어떻게 든 작동하게 만들 수는 없다.

편집 : 해결책을 찾았습니다. 내가 한 일은 게시 옵션과 설정을 차례로 선택한 다음 팝업에서 설정을 다시 선택하고 마지막으로 드롭 다운 옵션에서 원하는 구성으로 구성을 선택하는 것입니다. 주 메뉴에서 구성을 선택하면 명시 적으로 선택하지 않으면 동일한 환경을 게시하지 않는 것 같습니다.

+0

"배포하는 동안 다른 데이터베이스를 사용하고 싶습니다." CI/CD 파이프 라인 사용을 고려해야한다고 생각합니다. 또한 배포 프로세스에서 구성 값을 처리해야합니다. 환경 변수를 기반으로 모든 설정 (예 : 연결 문자열)을 변경하십시오. – Major

답변

0

해결책을 찾았습니다. 내가 한 일은 게시 옵션과 설정을 차례로 선택한 다음 팝업에서 설정을 다시 선택하고 마지막으로 드롭 다운 옵션에서 원하는 구성으로 구성을 선택하는 것입니다. 그것은 주 메뉴에서 구성을 선택하면 명시 적으로 선택하지 않으면 동일한 환경을 게시하지 않는 것 같습니다