0

I 설정이 같은 개체 컨텍스트 만들 수있는 EntityConnection을 사용 무엇을 제공 :DLL이 StoreConnection

public MyObjectContext(....) : this(contextName, new EntityConnection(connectionString)) 

연결 문자열은 Oracle 데이터베이스에 대한 연결 문자열입니다. 나는 DevArt를 공급자 btw로 사용합니다.

모두 정상적으로 작동합니다. 엔티티 등을 검색하는 데 사용할 수 있습니다.

하지만 기본 연결로 무엇인가를하고 싶었습니다. 나에게 다음과 같은 예외를 제공

(OracleConnection)((EntityConnection)context.Connection.StoreConnection) 

:

SystemInvalidCastException: [A]Devart.Data.Oracle.OracleConnection cannot be converted to [B]Devart.Data.Oracle.OracleConnection. .... Type A is from C:\Windows\....\6.60.283\.... Type B is from C:\DevDirectory\...\7.2.104.0 

ObjectContext는이 DLL의 이전 버전을 사용하는 것 같다 내가 좋아하는 일을했다. 그러나 프로젝트의 참조를 확인하면 올바른 버전 7.2.104.0에 대한 참조를 볼 수 있습니다. ObjectContext를 확인해 보면 클래스가있는 Subproject에 전혀 참조가없는 경우에도 연결할 수 있습니다.

연결하는 데 사용하는 DLL을 어떻게 해결합니까?

+0

이전 버전이 아직 GAC에있는 것으로 보입니다. –

+0

프로젝트 자체에 새로운 버전에 대한 참조가있는 경우에도 Entity Framework에서 먼저 GAC에서 DLL을 찾습니다. 내게 이상한 것 같습니다 ... – user685428

+0

EF 유형이 포함 된 어셈블리가 이전 (GAC) 버전으로 작성되었지만 캐스트를 수행하는 프로젝트 (어셈블리)에서 새 버전에 대한 참조가있을 수 있습니다. 별도의 어셈블리라고 가정합니다. –

답변

0

그래, 방금 전 잘못된 버전 (6)의 devArt가 설치되어 있지만 전 세계에서 올바른 버전 (7)을 참조했음을 알았습니다. ObjectContext가 포함 된 어셈블리에는 참조가 없으므로 이전 버전 인 GAC에서 버전을 가져와야했습니다 (6).

Thx. 설명을 위해서.