0

현재 Xamarin 및 Azure App Service Mobile App을 클라우드 백엔드로 사용하여 앱을 제작하고 있습니다. 문제는 Azure에서 호스팅되는 DB의 해당 테이블에서 일부 데이터를 삭제하면 삭제 된 레코드를 요청하기 때문에 모바일 장치에서 다음 PullAsync 호출이 실패합니다. Azure DB에서 처음 발생하는 레코드 삭제를 동기화 할 수있는 방법이 있습니까?Azure App Service 데이터가 삭제되면 모바일 앱 데이터베이스 동기화가 실패합니다.

다른 방법은 부드럽게 작동합니다 : 장치에서 레코드를 삭제하면 해당 레코드가 Azure DB에서 삭제됩니다.

답변

1

TableController마다 서버에서 is를 활성화하여 소프트 삭제를 사용해야합니다. TodoItemTableController에 대한 예제는 여기에 있습니다.

protected override void Initialize(HttpControllerContext controllerContext) 
{ 
    base.Initialize(controllerContext); 
    MobileServiceContext context = new MobileServiceContext(); 
    DomainManager = new EntityDomainManager<TodoItem>(context, Request, enableSoftDelete: true); 
} 

자세한 정보 here.

+0

나는 어제와 똑같은 방식을 생각하고 있었지만 실제적인 기록 삭제에 대한 해결책이 있기를 바랬다. 좋아, 이걸 답으로 표시해 줘, 고마워! –

+0

나는 이것과 관련된 또 다른 질문을 가지고있다 : EntityData 클래스에서 나는 "Deleted"라는 기존 속성을 발견했다. 이것은 소프트 삭제에 사용될 수 있다고 생각한다. 문제는 모바일 클라이언트에서 값을 업데이트 할 때 값이 Azure로 푸시되지 않고 다음 풀이 원래 값인 false로 다시 작성된다는 것입니다. 그것을 사용하는 방법이 있습니까 아니면 일부 사용자 정의 컬럼을 만들어야합니까? –

+0

방금 ​​발견 한 것은 UpdateAsync가 로컬 장치 저장소에 "삭제됨"사실을 기록하지 않기 때문에 Azure에 동기화되지 않습니다. 이 문제에 대한 해결책을 찾을 수 없습니다. –