我使用 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 子句工作正常,但第二个 -> elementCount[item.ID] <= maxEleCount 不工作。
我想要做的是通过一些ID(validID)过滤一个表,并检查另一个表中每个ID的条目数是否不超过限制。
有任何想法吗?
编辑 我找到了解决方案。我还为第二个 where 子句使用了 HashSet 而不是 Dictionary。由于某种原因,似乎不可能在 LINQ 语句中进行字典查找(?)