私はAzure Mobile App Serviceのソフト削除機能とインクリメンタル同期機能を使用しています。私はFooのエンティティのために、このような何かを行うことによって、クライアント側の偽削除フラグを設定し、それを取得しようとしました: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では結果が返されます。
削除されたメタデータ列をクライアント側で操作できませんか?あなたはGitHubの上のコードをチェックアウトすることができます
こんにちは、ありがとうございます。欠落している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)を実行しますか? –