我有以下课程:
public class CatalogResponseRootObject
{
public Plans Plans { get; set; }
}
public class Plans
{
public List<Plan> plan { get; set; }
}
public class Plan
{
public List<PlanPackage> Packages { get; set; }
}
public class PlanPackage
{
public List<Package2> Package { get; set; }
}
public class Package2
{
public string Name { get; set; }
}
我有一个有效的查询。但是现在我正在尝试使用Where子句来获取那些cPlans
WHERE Package2.Name == "Annual"
的列表。是否可以使用Where
子句以及如何检索此类信息?
CatalogResponseRootObject catalogResponse = response;
qualifiedPlans = (from cPlans in catalogResponse.Plans.plan
join qPlans in conversationIDResponsePlans.plan on cPlans.Id equals qPlans.Id
select cPlans).ToList();
答案 0 :(得分:2)
所以计划包含的包装应该至少有一个包含Name
&#34;年度&#34;?您可以添加条件:
where cPlans.Packages.Any(p1 => p1.Package.Any(p2 => p2.Name == "Annual"))
这将返回至少有一个包含至少一个名为&#34;年度&#34;的包的计划。