엔티티 프레임 워크 5 EDMX가있는 다른 DAL 프로젝트를 참조하는 WCF 프로젝트가 있습니다.TypeMismatchRelationshipConstraint를 반환하는 WCF 메타 데이터
내 서비스의 메타 데이터를 검색 할 수 없습니다 : http://localhost:12034/DataService.svc/ $ 메타 데이터
그것의 반환 다음과 같은 오류 :
IEdmModel 인스턴스가 유효성 검사에 실패하였습니다. 다음 오류가보고되었습니다. TypeMismatchRelationshipConstraint : 참조 제한 조건의 종속 역할에있는 모든 특성 유형이 주 역할의 해당 특성 유형과 동일해야합니다. 엔터티 'PScopeModel.Resource'의 'TenantID'속성 유형이 참조 제약 조건 'Fred'의 'ResourceType'엔터티의 'ResourceTypeID'속성 유형과 일치하지 않습니다.
TypeMismatchRelationshipConstraint : 참조 제한 조건의 종속 역할에있는 모든 특성 유형이 주 역할의 해당 특성 유형과 동일해야합니다. 엔티티 'PScopeModel.Resource'의 'ResourceType'속성 유형이 참조 제약 조건 'Fred'의 'ResourceType'엔터티의 'TenantID'속성 유형과 일치하지 않습니다.
TypeMismatchRelationshipConstraint : 참조 제한 조건의 종속 역할에있는 모든 특성 유형이 주 역할의 해당 특성 유형과 동일해야합니다. TY가 일치하지 않는 기업 'PScopeModel.Resource'에 재산 'TenantID'의 유형 ...
나는 기본적으로
ResourceType에 테이블이 TenantID + ResourceTypeID 자원 테이블에 PK를 가지고 관계를 다음이 TenantID + ResourceID에는 PK가 있고 ResourceType에는 FK가 있습니다.
현재 영향을받는 관계를 제거하면 다른 관계에서 발생하므로 내 프레임 워크의 모든 FK에 영향을 미치는 것 같습니다.
개별 개체가 올바르게 표시됩니다 : 당신의 DB에 http://localhost:12034/DataService.svc/ResourceTypes
클라이언트 구성을 확인하고 ServiceModel을 확인하십시오. 아마도 WCF 서비스가 보내는 것과는 다른 customBinding이있을 것입니다. – Mez
@Mez, 이것이 구성과 관련이 있다고 생각합니까? http : // localhost : 12034/DataService.svc /? wsdl을 호출하면 정상적으로 작동합니다. '<는 system.serviceModel> '' ''' <으로 WebHttpBinding> <바인딩 이름 = "webHttpTransportSecurity"> <보안 모드 = "전송"> <전송 clientCredentialType = "기본"> 으로 WebHttpBinding> ' –