2013-10-16 3 views
0

나는 WCF 데이터 서비스 (5.5)는 EF 위에 앉아있다 (5.0) 모델, 나는 $ 메타 데이터를 쿼리 할 때 다음과 같은 오류를 받고 있어요 :

을 "는 IEdmModel 인스턴스는 것을 알 수 있었다 InvalidMultiplicityOfDependentEnd : 종속 끝 'QuestionsetMember'의 다중성이 유효하지 않습니다. 종속 속성이 종속 종료 키를 나타내지 않으므로 종속 끝의 다중성은 '*'이어야합니다. . "

QuestionsetMember는 각각 다른 테이블의 기본 키에 연결되는 2 개의 열의 복합 기본 키를 갖습니다. 즉, 키의 각 열에서 두 테이블의 기본 키에 외래 키가 존재합니다.

"InvalidMultiplicityOfDependentEnd"를 (를) 검색했지만 찾을 수 없습니다. 또한 EDMX에서 관계를 만지작 거리다 보았지만 End Multiplicity를 변경하면 모델을 컴파일 할 수없는 오류가 발생합니다.

아이디어를 얻는 방법에 대한 아이디어가 있으십니까? (잘하면 내 스키마를 변경하지 않고)?

+0

감사합니다. TomMili, 명확하지 않고 실제 열 순서를 변경할 수는 없지만 일부 실험에서는 제안한 것이 전부가 아닌 실험을 통해 얻을 수 있습니다. 해결책으로가는 길. 나는 이것이 데이터 서비스 인프라의 버그라고 생각하는데, 나는보고에 대해 어떻게 생각하는지 모른다. – Prashant

답변

0

이것은 매우 드문 오류입니다. 나는 그 오류에 대한 설명을 다른 곳에서는 찾지 못했습니다. 그래서 나는 모든 단일 제약 조건과 두 테이블의 모든 열을 검사 한 후 해결책을 찾았습니다. 필자의 놀라운 점은 기본 키 열의 순서가 적절하다는 것입니다.

설명 : 나는 SQL Server 관리 연구실에서 database-design을 수행하고 내 모델을 엔티티 프레임 워크 디자이너로 업데이트합니다.

첫 번째 테이블 :

CREATE TABLE Table1 
(
Column1 int NOT NULL, 
Column2 int NOT NULL, 
PRIMARY KEY (Column1,Column2) 
) 

두 번째 표 :

CREATE TABLE Table2 
(
Column1 int NOT NULL, 
Column2 int NOT NULL, 
PRIMARY KEY (Column1,Column2) 
FOREIGN KEY (Column1,Column2) REFERENCES Table1(Column1,Column2) 
) 

이 작동합니다.

CREATE TABLE Table2 
(
-- Changed order in definition: 
Column1 int NOT NULL, 
Column2 int NOT NULL, 
-- Changed order in PK group: 
PRIMARY KEY (Column2,Column1) 
-- Leave the FK definition untouched: 
FOREIGN KEY (Column1,Column2) REFERENCES Table1(Column1,Column2) 
) 

내가 열 정의의 순서가 생성 된 모델에 영향을 생각 : 다른 순서로 두 번째 테이블의 기본 키의 열을 정의 할 경우 그것은 작동하지 않습니다. 그리고이 순서는 아마도 IEdmModel 클래스 내의 모델 유효성 검사에 영향을 줄 수 있습니다. 누가 알 겠어 ...

관련 문제