2013-06-17 1 views
1

이 질문은 추가 조사를 통해 근본적인 문제를 실제로 요약하기 위해 완전히 편집되었습니다.Breeze는 메타 데이터에서 탐색 속성을 반환하지만 엔터티는 반환하지 않습니다.

클라이언트 측 메타 데이터에 탐색 속성이 표시되지 않는 문제가있었습니다.

var constraint = association.referentialConstraint; 
if (!constraint) { 
    // TODO: Revisit this later - right now we just ignore many-many and assocs with missing constraints. 
    return; 
    // Think about adding this back later. 
    //if (association.end[0].multiplicity == "*" && association.end[1].multiplicity == "*") { 
    // // many to many relation 
    // ??? 
    //} else { 
    // throw new Error("Foreign Key Associations must be turned on for this model"); 
    //} 
} 

속성 referentialConstraint은 정의되지 않습니다 : 바람 클라이언트 측 코드의 깊은 검사로, 나는 parseCsdlNavProperty (라인 6181)에 다음 코드를 무시하는 모든 내 컬렉션 탐색 속성을 일으키는 것을 일했다 , 이로 인해 산들 바람이 내 관련 검색어를 무시하게됩니다. 문제가 무엇인지 모르겠다. 왜 이것이 null인지, b) 무엇을하는지, c) 엔티티 프레임 워크가 잘 매핑되어있는 것처럼 보이는 이유, b) 어떻게 수정해야하는지, breeze가 이것을 싫어하는 이유.

너무 많은 정보이기 때문에 전체 메타 데이터와 모델을 제거했습니다. 정보가 필요한 경우 알려 주시면 추가하겠습니다.

이렇게하면 질문을 좀 더 구체적이고 쉽게 해독 할 수 있기를 바랍니다.

감사합니다.

+0

난 당신의 게시물에서 말할 수 없다. 하지만 ...이 게시물은 너무 커서 소화 할 수 없습니다. 정말로 도움이 될 것은 문제를 설명하는 문제의 버려진 버전입니다. Breeze zip에는 EF 모델에 대한 여러 가지 단위 테스트가 포함 된 Doc 코드라는 샘플이 들어 있습니다. 이 프레임 워크 내에서 문제를 재현 할 수 있다면 솔루션을 제안 할 가능성이 큽니다. –

+0

샘플을 빠르게 살펴보고 문제를 재현 할 수 있는지 확인합니다. 나는 그것이 너무 많은 정보일지도 모른다라고 생각했다, 사과. 본질적으로 메타 데이터를 보면 다양한 탐색 속성이 설명되어 있지만 클라이언트 측에서 메타 데이터를 쿼리하거나 엔터티를 만들려고 할 때 엔터티에는 탐색 속성이 없습니다. (ExternalTransactionDataSet을 만들기위한 게시물 하단의 예제를 확인하십시오. 메타 데이터에 탐색 속성이 표시됩니다. 엔티티에는 없음이 있습니다. – Adam

+0

더 많은 연구와 지금까지는 속성으로 역함수를 포함하면 검색 기능 만 사용할 수 있습니다. 개체. 이것은 어떤 식 으로든 http://stackoverflow.com/questions/16797195/child-entities-not-populated-without-inverse-property와 관련이있는 것처럼 보입니다. 또는 단방향 매핑을 만들 때 준수해야 할 몇 가지 요구 사항이 있습니까? – Adam

답변

2

Entity Framework에서 외래 키를 노출하지 않는다고 생각하는 경우에만 모델에서 참조 제약 조건이 누락 될 수 있습니다. Foreign keys in the Entity Framework을 참조하십시오.

Breeze는 자동 객체 연결 논리를 수행하기 위해 외래 키가 필요합니다.

도 여기에 설명 : 당신의 엔티티를 만들거나 하나를 쿼리에 문제가있는 경우 Breeze navigation properties

+0

좋아요. breeze가 외부 키를 필요로하는 탐색 속성에서 거품을 볼 수 없었습니다. 제 경우에는 일방적 인 관계가 의미하는 것의 분리가 있다고 생각합니다. 아이디의 무결성을 관리하는 것이 문제가되기 때문에 관계의 다른 쪽 끝을 확인하는 데 아이를 갖지 않는 것이 더 좋습니다. 그러나 분명히 그 페이지에서 산들 바람이 필요하다는 것이 분명합니다. 나는 그것이 무시당하는 이유를 설명하는 콘솔이나 다른 디버그 메시지가 있음을 제안합니다. – Adam

관련 문제