2011-05-01 3 views
8

MVC3 프로젝트에서 Entity Framework 4를 사용하고 있습니다. 두 개의 서로 다른 데이터베이스 (A와 B)에 액세스하려고합니다.Entity Framework를 사용하여 두 개의 다른 데이터베이스 동시 사용

  • 데이터베이스 A와 B는 완전히 다르며 관련이 없습니다.
  • 데이터베이스 A는 '코드 우선'SQL 압축 데이터베이스입니다.
  • 데이터베이스 B는 '데이터베이스 첫 번째'SQL Server 데이터베이스입니다.
  • 데이터베이스 또는 연결 또는 데이터베이스 간 조인에 대한 간단한 쿼리가 있습니다.
  • 프로젝트에서 다른 DbContext를 제거하면 두 데이터베이스 연결이 작동합니다.

이제 데이터베이스 A에서 쿼리하려고하면 "개념 모델 유형을 찾을 수 없습니다."라는 예외가 발생합니다.

EF가 다른 데이터베이스를 사용할 수 없다는 것을 상상할 수 없으므로 제 질문은 : 적절한 DbContext의 새 인스턴스를 만들 때 추가 작업이 필요합니까?

+0

혹시 이것에 대한 해결책을 찾았습니까? 인스턴트 메신저 똑같은 문제가 (제외하고 나는 그 중 절반은 edmx 있고 절반은 코드 firsted입니다) 데이터베이스를 가지고 –

답변

1

edmx 파일에과 동일한 엔티티 이름 을 사용하지 않았는지 확인하십시오. 당신은 xml editor 파일을 마우스 오른쪽 버튼으로 클릭하고 open with을 사용하여 edmx을 여는 만능으로 변경할 수 있습니다.

일부 보안상의 이유로 컨텍스트를 중첩 할 수 없습니다. 그들은 단지 분리되어 사용될 수 있습니다.

+0

오, 좋은 지적이다; 그러나 본인은 동일한 이름이나 식별자를 가지고 있지 않습니다. 덧붙여 말하자면, "데이터베이스 우선"데이터베이스 용 edmx 파일 만 있습니다. –

2

"개념 모델 유형을 찾을 수 없습니다."예외를 해결하는 동안이 스레드를 우연히 발견했습니다.
EF 4.2를 여러 모델과 함께 사용하고 있습니다. 내 모델 중 하나를 사용하여 DbContext를 구현하여 "사용해보십시오". 컴파일하고 실행할 때 완전히 다른 데이터베이스에서 전혀 다른 모델의 엔티티에 대해 예외가 발생했습니다!

많은 번거 로움 끝에 마침내 다른 두 모델에 DbContext가 구현되어 모든 것이 잘 돌아갔습니다.

이 질문에 반드시 답할 수는 없지만이 문제를 해결하고이 게시물에 걸려 넘어지면 다른 사람에게 맡기고 싶습니다.

+0

이것은 나를 위해 일했습니다. 감사! –

관련 문제