リレーションシップはおそらく間違っていますが、データテーブルは前に使用したものです。私はSQLデータベースからEF4を取得しています。顧客、会社、部署のような表。選択のために通常コンボボックスに入るもの。私はそれらを静的リストに保持しています(アプリケーションの起動時に作成する必要があります)。いくつかのコンボボックスitemsourceがバインドされています。これにより、ViewModelから選択した項目をバインドすることによって特定の選択肢を簡単に関連付けるように設定します。WPF、EF4、およびリレーション
私の問題は、いくつかの場所では、表示用にデータグリッド内のIDに関連付けられた名前が必要なだけです。会社名が必要なCompanyIdを含む数百行。私はここでパフォーマンスが心配です。 DB FKを使用して検索中に名前を取得することはできますが、静的リスト内にあるので、それは無駄に思えます。また、Lazyローディングが、データバインディング中に、または最初のクエリ中に参照されることを意味するかどうかもわかりません。
ここで最善の解決策は何ですか?静的リストを使用してwpf値コンバータを作成できますか?私はそれを取得した後、データのforeachを実行し、静的リストの値を見て、オブジェクトに名前を格納する必要がありますか?
私の唯一の懸念は、このソリューションでは、SQLルックアップ「c.Company.Name」を100回実行することがパフォーマンス上の問題である可能性があることです。アプリケーションがすでに取り込んだリストを使用してこれを行うことができれば、よりうまくいくと思います。もちろん、それは私の質問です。もしあなたがその問題を考えないなら、私はそれにつきます。 – Tyrsius
それはできません。上記の例では、すべての結果を返す単一のクエリを実行します。これは、結合およびネストされたクエリを使用して、CustomerIdと同じクエリでCompanyNameを取得します。 – Jeff