私のソリューションの 1 つで、SQL Server の変更追跡機能を使用しています。実際のアプリケーションによる変更と同期アプリケーションによる変更を区別するために、Change Context を使用しています。さて、私が知っているように、この変更コンテキストは varbinary(128) 型です。
アプリケーション ロジックでは、変更コンテキストとして使用するランダム バイトを含むバイト配列を作成し、同期アプリケーションが変更を行うと、この変更コンテキストを使用します。次に、実際のアプリケーションによって行われた変更セットを、変更コンテキストなしで取得しようとすると、クエリで次のコード スニペットを使用します。
SELECT .... from .... WHERE (SYS_CHANGE_CONTEXT != @context OR SYS_CHANGE_CONTEXT IS NULL)
ここで、@context は、変更セットを取得するために sqlcommand に追加されるタイプ VARBINARY(128) のコマンド パラメータです。コマンドに渡された変更コンテキストに関係なく、行われたすべての変更が引き続き取得されます。
VARBINARY 値を比較したり、パラメーターとして送信したりする特別な方法はありますか??