2016-06-23 2 views
0

OData 서비스를 사용하는 WCF 클라이언트가 있습니다. 어떤 시점에서 사용자는 엔티티를 삭제할 수 있습니다. 나는 DataServiceContext.DeleteObject(object entity) 방법으로 이것을한다. 따라서 Entity.State는 Deleted가됩니다.WCF에서 삭제 취소 된 엔터티

사용자는 삭제를 실행 취소 할 수 있습니다. 어떻게 상태를 수정 됨으로 되돌릴 수 있습니까?

+0

메소드'DataServiceContext.ChangeState (obj, EntityStates.Modified) '를 통해 상태를 설정하려했지만 이미 작동하지 않습니다. – scher

답변

0

나는 마지막으로 그것을 할 달성 :

DataServiceContext.Detach(obj); 
DataServiceContext.AttachTo("EntitySetName", obj); 

이 객체에서 삭제 된 상태를 제거하고 수정로했다.

0

REST API는 상태 비 저장 (또는 있어야 함)입니다. 삭제 된 항목은 실행 취소 할 수 없습니다. 그것은 사라 졌어요.

할 수있는 일은 삭제하지 않는 것입니다. 데이터에 IsDeleted 플래그를 유지하고 true으로 설정하고 무언가를 삭제할 때 저장하고 삭제를 취소 할 때 false으로 다시 설정할 수 있습니다. 분명히 모든 쿼리와 수정은이 플래그를 고려해야합니다.

+0

내 질문을 정리해야한다고 생각합니다. 변경 (삭제)은 서비스로 전송되지 않습니다. 엔티티의 상태를 "not deleted"로 설정하여 서비스 전송시 삭제되지 않게하려고합니다. – scher

관련 문제