1

dataGridViewとbindingSourceとともにEDMオブジェクトを使用しています。バインディングソース/グリッドに多数(1000)の新しい要素を追加した後、context.SaveChangesをボタンクリックから呼び出すと、UIが数秒間ハングします。EDMオブジェクトはスレッドセーフではないことを読んだので、このタスクをバックグラウンドワーカーに置くことはできないと思います。作業が進行中であることをユーザーに知らせるためのヒント(マーキープログレスバーなど)はありますか?

4

2 に答える 2

1

EDMオブジェクトはスレッドセーフではないことを読んだので、このタスクをバックグラウンドワーカーに置くことはできないと思います。

できますよ!スレッドセーフではないということは、同時に多くのスレッドからインスタンスにアクセスすることが安全ではないことを意味します。単一のバックグラウンドワーカーを使用して作業を行うことは完全に安全です。

于 2010-05-19T20:49:04.740 に答える
0

UIを渡したくない場合は、バックグラウンドスレッドで呼び出しを行うか、非同期形式の呼び出しを使用する必要があります。context.SaveChangesボタンイベントハンドラーから直接作成すると、UIがハングします

于 2010-05-19T20:50:32.350 に答える