이 문제로 하루를 보내고 마침내 문제는 model.edmx 파일에서 발생한다는 것을 알게되었습니다.
이 파일에는 EntitySet 당 한 행이 있습니다. 각 EntitySet 요소에는 schema라는 속성이 있습니다. 유형 = "테이블"스키마 = "하여 MyDatabase"
EntitySet 이름 = "annee_civile" EntityType = "openemisModel.Store.annee_civile" 저장소 : SQL 서버의 경우이 속성은 관련 테이블 스키마로 설정 />
당신의 EntityConnection을 소유 constructiong 때 스키마의 이름을 제공하는 경우가 충돌이며 다른 하나를 지정한 경우 그 마지막으로 edmx 파일에 정의 된 스키마에도 사용됩니다 보인다 연결 매개 변수
해결 방법은 단순히 edmx 파일에서 스키마 이름을 제거하는 것입니다. 이것은 SQL 서버에 연결할 때 MYSQL에 대한 것입니다.
EntitySet 이름 = "annee_civile" EntityType = "openemisModel.Store.annee_civile" 가기 : 유형 = "테이블"스키마 = ""/>
EntityConnectionStringBuilder :
string provideString = "사용자 ID = xxxx; 암호 = xxx; 호스트 = xxxx; 데이터베이스 = anydatabasename"; EntityConnectionStringBuilder entityConnBuilder = 새 EntityConnectionStringBuilder(); entityConnBuilder.Provider = "Devart.Data.MySql"; entityConnBuilder.Metadata = @ "res : // /OpenEmisModel.csdl|res:// /OpenEmisModel.ssdl|res://*/OpenEmisModel.msl"; entityConnBuilder.ProviderConnectionString = provideString;
의 EntityConnection 그것을 이용한 오브젝트 컨텍스트 :
의 EntityConnection entityConnexionEmis = 새의 EntityConnection (entityConnBuilder.ConnectionString);
objectcontextEntities testingContext = 새로운 objectcontextEntities (entityConnexionEmis);
이제 소프트웨어가 모든 데이터베이스 이름에 연결할 수 있습니다.
희망이 도움이됩니다.
는 코드 샘플은 helpful- 그것을 않는 것 실제로 * 작업 * 디버깅, 또는 그냥 ObjectContext에 올바른 연결 문자열을 보여? –