2011-12-17 1 views
3

3 개의 edmx 파일이 포함 된 닷넷 4.0 DAL 라이브러리 프로젝트가 있습니다. 내 데이터베이스에 많은 테이블이 있기 때문에 나는 세 가지 파일에서 내 데이터 모델을 분할하기로 결정했습니다. 그리고 여기에 내가 Stackoverflow에서 읽었던 것에서 그렇게하는 것이 가장 좋은 방법 같았습니다.여러 edmx 파일에 대한 Linq-To-Entities 연결 문자열

하지만 이제 기본적으로 동일한 데이터베이스 연결을 사용하는 App.config에 세 개의 연결 문자열 항목이 있습니다. 어떻게 든 구성 파일에 하나의 연결 문자열 만있는 이전 ado.net 스타일로 돌아갈 수 있습니까?

덕분에, 당신의 코드에서 옌스

답변

1

당신은 당신의 설정 파일에 저장된는 '일반'연결 문자열에서 세 개의 분리 된 연결 문자열을 구축하기 위해 EntityConnectionStringBuilder를 사용할 수 있습니다. 당신은 세 가지 EntityConnectionStrings를 만들 수 있습니다

string providerString = <load your connection string>; 

// Initialize the EntityConnectionStringBuilder. 
EntityConnectionStringBuilder entityBuilder = 
    new EntityConnectionStringBuilder(); 

//Set the provider name. 
entityBuilder.Provider = providerName; 

// Set the provider-specific connection string. 
entityBuilder.ProviderConnectionString = providerString; 

// Set the Metadata location. 
entityBuilder.Metadata = @"res://*/AdventureWorksModel.csdl| 
          res://*/AdventureWorksModel.ssdl| 
          res://*/AdventureWorksModel.msl"; 

하고 모델을 가리 키도록 각각의 메타 데이터 속성을 변경 :

당신은 뭔가를 얻을 것입니다.

하지만 코드에서 연결 문자열의 하드 코드 된 부분으로 이어질 수 있습니다.

+0

위대한 것은 내가 필요한 것입니다. 고마워. –

관련 문제