2013-10-10 2 views
2

내 JayData 엔티티에 inverseProperty이 : 정말 그것을 사용할 수 있도록 좋아하지만, 지금은 어떻게하지 않는 것JayData inverseProperty

'User': { 'type': 'RavenDBMembership.User', 'inverseProperty': '$$unbound' }, 

..

만큼 내가 이해하는 한, 기능을 포함하여 '$$ 언 바운드'값이 속성을로드해야하고 내가 다음과 같이 간단하게 사용할 수 있어야합니다 :

entity.User 

하지만 그 대신, 그렇습니다 구조에 '사용자'를 추가하지 않습니다. 나는이 같은 AngularJS와 함께 개체를 인쇄 할 때 :

{{entity}} 

을 나는 값으로 기업의 구조를 얻을 수 있지만, 사용자 속성이 아닙니다!

그래서 .. 'inverseProperty'를 사용하는 샘플이나 아이디어 : JayData에서 '$$ unbound'? 하지만 내가 코멘트 할 수없는 응답 죄송합니다

답변

2

그래서 문제가 무엇인지 알아 냈습니다. 엔티티 모델은 이러한 속성에 도달하기 위해

'inverseProperty': '$$unbound' 

을 말할 때 , 우리는 (내 경우에는 사용자)

context.EntitySet.include('User').toArray(handler); 

은 그래서 마법의 키워드는 여기 가 ('PROPERTY_NAME')를 포함라고해야

다음 우리는 엔티티에 도달 할 수 있습니다. 사용자 thingy.

내 실수는 JayData 은 (는)을 자동으로 포함한다고 생각했습니다.

1

...

당신 있는지 메타 데이터가 실제로 모든 엔티티를 노출?

나는 ... 그냥 생각

GitHub에 다른 일을 건너 발견

편집 : 나는 소스를 보러 갔다 있도록

가 사실 궁금했다. this file (line 364)에서 말한다 : 탐색 속성이 자신의 부모를 참조하기위한 설정하지처럼

if (memDef.inverseProperty === '$$unbound') { 
    //member definition is navigation but not back reference 

것 같다.

는 다음과 같은 고려 :

$data.Entity.extend('Entities.User', { 
    'IdPerson': { 'key': true, 'type': 'Edm.Guid', 'nullable': false, 'computed': true }, 
    'Login': { 'type': 'Edm.String', 'nullable': false, 'required': true, 'maxLength': 20 }, 
    'Password': { 'type': 'Edm.String', 'nullable': false, 'required': true, 'maxLength': 36 },    
    'Role': { 'type': 'Entities.Role', 'inverseProperty': 'User' } 
     }); 

$data.Entity.extend('Entities.Role', { 
    'IdRole': { 'key': true, 'type': 'Edm.Guid', 'nullable': false, 'computed': true }, 
    'User': { 'type': 'Array', 'elementType': 'Entities.User', 'inverseProperty': 'Role' } 
    }); 

이 실제로 내 작업 모델 중 하나의 일부입니다, 나는 퍼팅 시도 '$$ 언 바운드'역 재산과 당신의 버그를 재현.

기본 데이터 모델에 적절한 외부 키 및 다중성이 구성되어 있는지 확인해야합니다. 이것은 실제로 'inverseProperty'가 사용되는 것입니다.

+1

예, 이전에 메타 데이터가 잘못되었을 때 –

관련 문제