2013-07-24 3 views
2

우리는 "고객", 하위 엔티티 "주문"이 있고 우리가 하위 엔티티의 컨텍스트에 있다고 가정하고 주문을 삭제하지 않고 고객으로부터 주문을 "분리"하는 방법은 무엇입니까? 기본적으로 제가 SQL에서하는 것은 :BreezeJS - 부모로부터 탐색 속성을 제거하는 방법은 무엇입니까?

update Order set CustomerId = NULL; 

내 제거 명령 기능은 다음과 같은 :

function remove(order) { 
    // I've tried the following - 
    // order.CustomerId(null); 
    // order.Customer(null); 
    // order.Customer.remove(order); 
} 

답변

1

여러 가지 방법으로는 스칼라 또는 스칼라 탐색 속성과 작동하는지에 따라 달라집니다. 일반적으로 양쪽에서 관계를 "분리"할 수 있습니다.

'자식'또는 종속 측 (또는 1-1 관계 인 경우 부모)에서. '부모'또는 주체 측부터)

child.parentID = null; 

3 널로 (외부 키를 설정)

child.parent = null; 

2) 널 경우 라 탐색 속성 설정

1) 직접 null로 (스칼라가 아닌 경우) parental.children과 같은 비 스칼라 탐색 속성을 처리하는 경우 'splice'를 통해 'children'배열에서 자식을 제거 할 수 있습니다.

var ix = parent.children.indexOf(child); 
parent.children.splice(ix, 1); 

이러한 경우 각각 Breeze는 변경 사항을 인식하고 관계의 반대쪽에서 역 동작을 수행합니다.

나는 이것이 의미가 있기를 바랍니다.

+0

탐색 속성이 아직로드 된 것으로 표시되지 않습니까? 엔티티에서 탐색 속성을 제거하고 응용 프로그램의 다른 구성 요소에서 entity.loadNavigationProperty ('name')를 호출하여 탐색 속성이 실제로 다시로드되는 경우 (탐색 속성을 제거하고 해당 상태를 '언로드' ') – pQuestions123

관련 문제