具有子属性的复杂linq查询

时间:2018-07-14 09:46:03

标签: linq nested

似乎找不到我的问题的答案。 我正在使用Google CSE,在结果集中,我希望获得“ positiveVotes”大于5的所有项目。

我似乎无法理解如何获得子-子-子属性满足条件的所有项目。 基本上应该是这样的:

results.Items
            .Where(x => x.Pagemap.Where(a => a.Key == "discussion").Where(key == "positiveVotes" and value > 5)

但是我真的不知道怎么写。 请帮忙。

2 个答案:

答案 0 :(得分:0)

这可以解决您的问题吗?

results.Items
    .Where(x => x.Key == "discussion")
    .Select(x => x.Value)
    .Cast<KeyValuePair<string, int>>()
    .Where(k => k.Key == "positiveVotes" && k.Value > 5);

答案 1 :(得分:0)

在没有提供确切类型results的情况下,要确切了解数据结构有点困难,但这是我对所需内容的最佳猜测:

results.Items
       .Where(x => x.Pagemap.ContainsKey("discussion")
           && x.PageMap["discussion"].Any(kvp => kvp.Key == "positiveVotes" && kvp.Value > 5))