2

毎回同じ多数のレコードをロードせずに、アプリケーションコレクションをデータベースと効率的に同期させるためにdatetime、テーブルトリガーでデータベースの「LastModified」フィールドを使用できます。テーブルトリガーは、データベースの更新または挿入操作で「LastModified」フィールドを更新します。次に、最後に使用されたタイムスタンプ値をdbクエリに指定して、指定されたパラメーターよりも後のタイムスタンプ値を持つレコードのみをロードできます。

上記の手法は、データ交換の量を少なく保つのに役立ちますが、問題があります。データベースで削除されたレコードが、アプリケーションコレクションに残ります。

トラフィックデータを可能な限り小さく保つ方法で、それに応じてアプリのコレクションを更新するためにデータベースで削除されたレコードを確認するにはどうすればよいですか?

4

1 に答える 1

1

削除時に呼び出されるテーブルトリガーが必要です。このトリガーが呼び出されると、削除のインデックスとタイムスタンプが別の追跡テーブルに書き込まれます。次の同期では、このテーブルから最後に変更された日付以降に削除するすべてのインデックスを取得する必要があります。

たぶん、 MicrosoftSyncFrameworkを見てみるべきでしょう。データベース内に必要なすべてのテーブルとトリガーを作成して、最後の同期以降に行われた変更を追跡します。この例に従って、後でデータベースを調べてください。すべての変更を追跡するために使用される、追加されたすべてのテーブルとトリガーを非常に簡単に確認できます。

于 2013-03-22T09:25:48.743 に答える