顧客のリストと顧客のチケットのリストを含むナビゲーションバーを含むアプリケーションがあります。
左側のリストで顧客が選択されている場合 - 右側のリストでチケットを読み込んでいます。MainWindow の開始時に NHibernate セッションが開きます。ViewModel の BackgroundWorker で行っているすべての顧客のチケットを読み込みます。リストには現在約5000人の顧客がいます。1 人の顧客を選択してから次の顧客をすばやく選択すると (チケットのリストの最初の顧客がまだロードされていない場合)、nhibernate からエラーが発生します。エラーの違い: コレクションはフラッシュによって 2 回処理されました。コレクションへの共有参照が見つかりました。また、チケットのリストがグリッドにロードされていません。このフリーズ UI とチケットは大きなカウントになる可能性があるため、メイン UI スレッドでチケットをロードする必要はありません。アプリケーションで NHibernate セッションをどのように操作するのが正しいでしょうか?