【发布时间】:2012-07-11 11:02:32
【问题描述】:
我是 Linq 新手,无法解决以下问题。尝试在互联网上检查很多,但没有得到正确的答案。
我有以下查询:
var packages = from p in Packages
from cl in p.Categories
from temp in Clusters
where (cl.Id == temp.Key)
select p;
Categories 是包含 id 和 name 的对象的集合。这里的集群是键值对的字典。执行此查询时出现以下错误:
无法创建“System.Collections.Generic.KeyValuePair`2”类型的常量值。 此上下文仅支持原始类型(“例如 Int32、String 和 Guid”)。
另一个选项是为包中的每个类别添加一个 for each 循环。有没有更清洁的方法来做到这一点?
【问题讨论】:
-
在你的字典里。密钥的类型是什么。值的类型是什么。您能否在示例中提供包、类别和集群的定义。
标签: c# linq collections nested