私は DataTables が初めてで、特に Merge メソッドについて少し助けが必要です。
UI 要素が 1 行の DataTable のさまざまな列にバインドされている WPF アプリケーションがあります。多くの列があります。MSMQ からシリアル化された DataTable オブジェクトを受信し、それを逆シリアル化し、DataTable の単一の行を新しい行に置き換えて、バインドされたコントロールの値を更新するスレッドがあります (DataContext のリセット後)。これまでのところ、これはうまく機能しています。
ここで、2 つの異なる MSMQ キューをそれぞれ独自のデータでポーリングし、両方で DataTable を更新する必要があります。だからここに私の問題があります:
状況:
IDCol、Col1、Col2、Col3、Col4 の列を持つ MainTable があります。
プロセス 1 は、IDCol、Col1、Col2 を含む NewTable を返します。
プロセス 2 は、IDCol、Col3、Col4 を含む NewTable を返します。
いずれの場合も、IDCol は主キーであり、同じ値になります。
各プロセスは独自のスレッド (実際には BackgroundWorker) で実行されます。
各スレッドで DataTable.Merge(NewTable) を使用できますか?行を削除して新しい行を追加する古い方法ではなく、さまざまな列を適切にマージしますか?
ありがとう...