私はLinqが初めてで、次の問題を解決できません。インターネットでいろいろ調べてみましたが、適切な回答が得られませんでした。
次のクエリがあります。
var packages = from p in Packages
from cl in p.Categories
from temp in Clusters
where (cl.Id == temp.Key)
select p;
カテゴリは、id と名前を含むオブジェクトのコレクションです。ここでの Clusters は、キーと値のペアのディクショナリです。このクエリを実行すると、次のエラーが発生します。
タイプ 'System.Collections.Generic.KeyValuePair`2' の定数値を作成できません。このコンテキストでは、プリミティブ型 (Int32、String、および Guid など) のみがサポートされます。
もう 1 つのオプションは、パッケージ内の各カテゴリにも for each ループを追加することです。これを行うためのよりクリーンな方法はありますか?