PreprocessQuery メソッドを使用して、lightswitch のクエリを拡張します。このようなもの:
query = (from item in query
where (validIDs.Contains(item.tableIDs.myID)) &&
elementCount[item.ID] <= maxEleCount)
select item);
validIDsはHashSet(int)であり、elementCountはDictionary (int, int)です。最初の where 句は正常に機能していますが、2 番目の -> elementCount[item.ID] <= maxEleCount は機能していません。
私がしたいのは、いくつかのID (validID) でテーブルをフィルタリングし、別のテーブルでこの ID ごとのエントリ数が制限を超えていないかどうかも確認することです。
何か案は?
編集 私は解決策を見つけました。Dictionary の代わりに、2 番目の where 句に HashSet も使用しました。何らかの理由で LINQ ステートメント内で Dictionary ルックアップを実行できないようです (?)