2014-07-16 1 views
0

Breeze.SharpToDo 프로젝트를 설치할 수있었습니다. 새로운 할 일 목록 항목을 추가하는 동안 동작을 발견했습니다. 새 할 일 항목이 추가되면 서버 호출 SaveChanges가 클라이언트에 의해 만들어지고 항목이 성공적으로 추가됩니다. 클라이언트는 다시 QueryAllTodos으로 서버를 호출하여 최신 목록을 다시 가져와야합니다. 이 왕복이 필요한 이유는 무엇입니까? SaveChanges 메서드는이 왕복을 다시 피하기 위해 변경 사항 (추가 후 새 목록)을 클라이언트 목록과 병합해야합니까?Breeze.Sharp ToDo 샘플 프로젝트의 왕복

답변

1

정확합니다. 데이터를 변경하는 다른 서버 측 "부작용"(트리거를 말함)이 없으면 저장 후 다시 쿼리 할 필요가 없습니다. 이 코드는 그냥 안전하게 재생하고 있습니다.

+0

부작용에 대해 언급 했으므로 Breeze.Sharp가 동시성 문제를 정상적으로 처리합니까? 예를 들어, 주문이 저장되면 트리거는 주문 광고 항목의 개별 운송 비용을 계산하여 즉시 동일한 테이블에 저장합니다. 또 다른 예는 두 명의 사용자가 동일한 고객 세부 정보를 업데이트하는 것입니다. 한 사용자 A가 고객 세부 사항을 저장하면 다른 사용자 B는 이미 변경 사항을 저장하므로 사용자 A의 고객 데이터는 부실 해지고 동시성 문제가 발생합니다. –

+0

모델에서 동시성 열을 정의한 경우 breeze는 수행하는 모든 업데이트에서 항상 이들을 확인하고 다른 프로세스에서 엔티티가 업데이트 된 경우 동시성 예외를 발생시킵니다. –

+0

다시 쿼리하는 것은 꼭 필요한 것은 아닙니다. Todo 앱이 저장 후 다시 질의하고 일부 사용자가 변경했을 가능성이있는 추가 변경 사항을 부분적으로 받도록하는 것이 전통적이기 때문에 부분적으로 포함됩니다. 그것은 나의 변명이고 나는 그것에 충실합니다. :-) – Ward