Azure Mobile App Service 소프트 삭제 및 증분 동기화 기능을 사용하고 있습니다. 나는 푸 엔티티에 대한이 같은 작업을 수행하여 클라이언트 측에서 거짓으로 삭제 플래그를 설정 한 다음 검색을 시도 :Azure Mobile App 서비스 메타 데이터 열 (삭제됨)이 SyncTables를 사용하여 설정됩니다.
1) foo.deleted = false;
2) Client.GetSyncTable<Foo>().Update(foo);
3) Client.GetSyncTable<Foo>().Where(w => w.id == "xxx" && w.deleted == false).ToListAsync();
//The above step 3 doesn't seem to return any results.
4) Client.GetSyncTable<Foo>().Where(w => w.id == "xxx").ToListAsync(); //This returns a result;
위의 모든 단계를 내가 오프라인 테이블에 대해 일어나고있는 이해.
나는 뒤에서 무슨 일이 벌어 질지 궁금했다. DeleteAsync 메서드를 사용할 수 있음을 알고 있지만 3 단계에서 결과가 반환되지 않지만 4 단계에서는 결과가 반환된다는 것을 이해하고 싶었습니다.
삭제 된 메타 데이터 열을 클라이언트 측에서 조작 할 수 없습니까? 당신이 ... 어디 (뭔가를) 수행 할 때 그것은 SQL 쿼리를 생성하지만 그것을 실행하지 않습니다, https://github.com/azure/azure-mobile-apps-net-client
짧은 버전 -
안녕하세요, 귀하의 회신에 감사드립니다. 누락 된 ToListAsync()는 오타였습니다. 미안합니다. (귀하의 블로그는 대단합니다!) 내 질문은 내가 할 때 1) foo.deleted = false; 2) Client.GetSyncTable() .UpdateAsync (foo); // 아래의 3 단계는 0 개의 레코드를 반환합니다. 3) Client.GetSyncTable () .Where (w => w.id == "xxx"&& w.deleted == false) .ToListAsync(); //하지만 4 단계에서 결과가 반환됩니다. 4) Client.GetSyncTable () .Where (w => w.id == "xxx"). ToListAsync(); 간단히 말해서 foo.deleted = true를 설정하고 DeleteAsync (foo)를 수행하는 것과 동일한 방식으로 UpdateAsync (foo)를 실행합니까 ?? –