2011-08-21 4 views
5

WCF RIA 서비스에 다음과 같은 문제가 있습니다. 테이블 고객 및 테이블 주소이 있습니다. 고객은 0 ... n 개의 주소를 가질 수 있습니다. 주소를 표시하는 Datagrid를 사용하여 고객을 편집 할 수있는 양식이 있습니다. 자식 창에서 주소를 추가/편집하려면 을 클릭하십시오./을 입력하십시오.을 편집하십시오. 이제 문제는 다음과 같습니다.특정 엔터티에 대한 RejectChanges

문제는 사용자가 항상 수정 사항을 취소 할 수 있어야한다는 것입니다. 이 문제 제외 되지 않습니다 : 당신이 새로운 고객을 만들 하고 해당 고객에 주소를 추가 한 다음 그 편집을 취소 할 수있는 주소를 수정할 수 있지만 원하는하고자합니다.

  • RejectChanges를 컨텍스트에 적용 할 수 없습니다. 고객이 주소를 지울 수 있기 때문입니다.
  • 외래 키 관계를 설정할 수 없으므로 별도의 컨텍스트를 사용할 수 없습니다.

어떻게 해결하겠습니까?

답변

6

엔터티는이 시나리오를 지원하기 위해 IRevertibleChangeTracking을 구현합니다. 명시 적으로 구현되었으므로 캐스트해야합니다. 다음 코드가 작동합니다.

((IRevertibleChangeTracking)address).RejectChanges(); 
그것은하지만 편집의 경우에 작동하고
+0

작은 오자 (IRevertibleChangeTracking) http://msdn.microsoft.com/en-us/library/system .componentmodel.irevertiblechangetracking % 28v = VS.95 % 29.aspx –

+0

감사합니다. 일관되게 내가 잘못 생각한다고 생각하니? :) –

+0

매우 유용한 정보, 필요한 정보. 감사. – peter

0

없는 새의 경우 ..의 인터페이스 이름에

+0

새로운 경우 엔 엔티티를 다시 디 테스트 할 필요가 없다. – LueTm

관련 문제