2016-11-23 1 views
0

일종의 데이터 가져 오기 도구를 만들면서 가져올 원본 데이터베이스에 따라 다른 데이터베이스/테이블에서 작업해야합니다.EF 데이터베이스 변경 컨텍스트

그래서 작업해야하는 모든 유형의 데이터베이스에 대해 EF로 모델을 만들기 시작했습니다.

응용 프로그램 설정에 따라 특정 데이터베이스에서 데이터를 가져와야합니다.

그래서 내가하고 싶은 것입니다 그런 식 :

var myDB; //the schema I need; 
switch(DBType){ 
    case DBTypes.Application1: 
      myDB = new APP1_Entities(); 
      break; 
    case DBTypes.Application2: 
      myDB = new APP1_Entities(); 
      break; 
} 

가 C# 및 EF와 나는이 작업을 수행 할 수있는 몇 가지 방법 (또는 어떤 종류의)? 모두에게 감사드립니다!

+0

종속성 주입을 살펴보십시오. –

+0

종속성 삽입이 프로세스 가져 오기에 어떻게 도움이됩니까? – Dennis

+0

OP, 정확히 해결할 수없는 것은 무엇입니까? 컨텍스트 중 하나를 사용하여 데이터베이스에서 데이터를 읽어야합니다. 결과물은 무엇입니까? – Dennis

답변

2

이것을 해결하는 좋은 방법은 의존성 주입을 통한 것입니다. 이 방법은 종속성이 반전되고 메서드의 컨텍스트를 "새로 고치지"않습니다.

public void DoSomething(DbContext context) 
{ 
    myDb = context; 

    //other logic here 
} 

이렇게하면 호출자에게 메소드를 제어 할 수 있습니다. 더 많은 정보를 원한다면 웹 전체에 많은 자원이 있습니다. MSDN 설명서는 여기에 있습니다 : https://msdn.microsoft.com/en-us/library/hh323705(v=vs.100).aspx

관련 문제